Systems and methods for communicating by modulating data on zeros in the presence of channel impairments

ABSTRACT

Communication systems and methods in accordance with various embodiments of the invention utilize modulation on zeros. Carrier frequency offsets (CFO) can result in an unknown rotation of all zeros of a received signal&#39;s z-transform. Therefore, a binary MOCZ scheme (BMOCZ) can be utilized in which the modulated binary data is encoded using a cycling register code (e.g. CPC or ACPC), enabling receivers to determine cyclic shifts in the BMOCZ symbol resulting from a CFO. Receivers in accordance with several embodiments of the invention include decoders capable of decoding information bits from received discrete-time baseband signals by: estimating a timing offset for the received signal; determining a plurality of zeros of a z-transform of the received symbol; identifying zeros from the plurality of zeros that encode received bits by correcting fractional rotations resulting from the CFO; and decoding information bits based upon the received bits using a cycling register code.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present invention is a continuation of U.S. patent application Ser. No. 16/785,279 entitled “Systems and Methods for Communicating by Modulating Data on Zeros in the Presence of Channel Impairments”, filed Feb. 7, 2020, which claims priority to U.S. Provisional Patent Application Ser. No. 62/802,578 entitled “Robust Transceiver Designs for Frequency and Time Offsets”, filed Feb. 7, 2019, the disclosures of which is herein incorporated by reference in its entirety.

FIELD OF THE INVENTION

The disclosure relates generally to communication systems and more specifically to blind communication schemes that transmit over unknown wireless multipath channels.

BACKGROUND

The future generation of wireless networks faces a diversity of new challenges. Trends on the horizon—such as the emergence of the Internet of Things (IoT) and the tactile Internet—have radically changed thinking about how to scale wireless infrastructure. Among the main challenges new emerging technologies have to cope with is the support of a massive number (billions) of devices ranging from powerful smartphones and tablet computers to small and low-cost sensor nodes. These devices come with diverse and even contradicting types of traffic including high speed cellular links, massive amounts of machine-to-machine (M2M) connections, and wireless links which carrying data in short-packets. Although intensively discussed in the research community, the most fundamental question of how we will communicate in the near future under such diverse requirements remains largely unresolved.

A key problem of supporting sporadic and short-message traffic types is how to acquire, communicate, and process channel information. Conventional channel estimation procedures typically require a substantial amount of resources and overhead. This overhead can dominate the intended information exchange when the message is short and the traffic sporadic. For example, once a node wakes up in a sporadic manner to deliver a message it has first to indicate its presence to the network. Secondly, training symbols (pilots) are typically used to provide sufficient information at the receiver for estimating link parameters such as the channel coefficients. Finally, after exchanging a certain amount of control information, the device transmits its desired information message on pre-assigned resources. In current systems these steps are usually performed sequentially in separate communication phases yielding a tremendous overhead once the information message is sufficiently short and the nodes wake up in an unpredictable way. Therefore, a redesign and rethinking of several well-established system concepts and dimensioning of communication layers will likely be necessary to support such traffic types in an efficient manner. Noncoherent and blind strategies, provide a potential way out of this dilemma. Classical approaches like blind equalization have been investigated in the engineering literature, but new noncoherent modulation ideas which explicitly account for the short-message and sporadic type of data will likely be required.

In many wireless communication scenarios the transmitted signals are affected by multipath propagation and the channel will therefore be frequency-selective if the channel delay spread exceeds the sampling period. Additionally, in mobile and time-varying scenarios one encounters also time-selective fast fading. In both cases channel parameters typically have a random flavor and potentially cause various kinds of interference. From a signal processing perspective it is, therefore, desirable to take care of possible signal distortions, at the receiver and potentially also at the transmitter.

A known approach to deal with multipath channels is to modulate data on multiple parallel waveforms, which are well-suited for the particular channel conditions. A simple approach that can be utilized for frequency-selective multipath channels is orthogonal frequency division multiplexing (OFDM). When the maximal channel delay spread is known, inter-symbol-interference (ISI) can be avoided by a suitable guard interval. Orthogonality of the subcarriers can be achieved by a cyclic prefix preventing inter-carrier-interference. On the other hand, from an information-theoretic perspective, random channel parameters are helpful from a diversity view point. Spreading data over subcarriers can exploit diversity in a frequency-selective fading channel. But to coherently demodulate the data symbols at the receiver, the channel impulse response (CIR) should be known at least at the receiver. To gain knowledge of the CIR, training data (pilots) are typically added to the information baseband samples, leading to a substantial overhead when the number of samples per signal is in the order of the channel taps. If the number of samples is even less than the number of channel taps, it can be mathematically impossible to accurately estimate from any pilot data the channel (assuming full support). Hence, one is either forced to increase the signal length by adding more pilots or assume some side-information on the channel. Furthermore, the pilot density has to be adapted to the mobility and, in particular, OFDM is very sensitive to time-varying distortions due to Doppler shift and oscillator instabilities. Dense CIR updates are often required, which can result in complex transceiver designs.

Due to ubiquitous impairments between transmitter and receiver clocks a carrier frequency offset (CFO) is likely to be present after a down conversion to the baseband. Doppler shifts due to relative velocity can also cause additional frequency dispersion which can be approximated in first order by a CFO. This is a known weakness in many multi-carrier modulation schemes, such as OFDM, and various approaches have been developed to estimate or eliminate the CFO effect. A common approach for OFDM systems is to learn the CFO in a training phase or from blind estimation algorithms, such as MUSIC or ESPRIT. Furthermore, due to the unknown distance and asynchronous transmission, a timing offset (TO) of the received symbol typically has to be determined as well, which will otherwise destroy the orthogonality of the OFDM symbols. By “sandwiching” the data symbol between training symbols a timing and frequency offset can be estimated. By using antenna arrays at the receiver, antenna diversity of a single-input-multiple output (SIMO) system can be exploited to improve the performance.

OFDM is typically used in long packets (frames), consisting of many successive symbols resulting in long signal lengths. In a sporadic communication, only one packet is transmitted and the next packet may follow at an unknown time later. In a random access channel, a different user may transmit the next packet from a different location. Such a packet experiences an independent channel realization. Hence, the receiver can barely use any channel information learned from the past. To reduce overhead and power consumption, again low-latency and short-packet durations are favorable.

A communication system that supports sporadic packet communication at ultra low latency can be useful in a number of applications including (but not limited to) critical control applications, like commands in wireless for high performance (HP), ad hoc signaling protocols, secret key authentication, or initiation, synchronization and channel probing packets to prepare for longer or future transmission phases. At the same time, ultra reliability is required for such low latency communications (URLLC), especially if dealing with industrial wireless scenarios where the packets contain critical control data. The IEEE 802.11 standard for WirelessHP specifies a target packet error probability of 10⁻⁹ at scheduling units (SU) below 1 μs for power system automation and power electronic control. Here, the SU is the actual transmission time between transmitter and receiver. Furthermore, the next generation of mobile wireless networks aims for large bandwidths with carrier frequencies beyond 30 GHz, in the so called mmWave band, such that the sampling period is in the order of nano seconds. Hence, even at moderate mobility, the wireless channel remains approximately time-invariant only for a short duration, encouraging shorter symbol lengths. On the other hand, wideband channels resolve many multipaths due to the large bandwidth, which makes equalizing in the time-domain very challenging and is commonly simplified by using OFDM instead. But this can require long signal lengths, due to additional pilots needed to learn the channel. This may not be feasible if the transmission time or scheduling unit requirement is too short. Also, the maximal CIR length needs to be known at the transmitter and if underestimated might lead to a serious performance loss. Considering indoor channels at 60 GHz, a delay spread of up to 30 ns can still be present. Considering a bandwidth of 1 GHz results in a CIR length of 30 and a signal length of 100-1000 to meet the SU requirement. Hence, exploiting multiple OFDM symbols becomes more and more challenging if the receive duration approaches the order of the channel delay spread. Therefore, one-shot symbol transmissions can become necessary to push the latency on the physical-layer to its physical limits.

Another issue in transmitting at high frequencies can be attenuation, which can be overcome by exploiting beam-forming with massive antenna arrays. For massive or mobile users, this again increases the complexity and energy consumption for estimating and tracking the huge amount of channel parameters. Furthermore, a bottleneck in mmWave MIMO systems can be the blockage of line-of-sight connections which require wider or multiple beams, resulting in a significant reduction of the receive power.

SUMMARY OF THE INVENTION

Systems and methods in accordance with many embodiments of the invention utilize timing-offset (TO) and carrier frequency offset (CFO) estimation in a BMOCZ scheme to communicate over unknown multipath channels including (but not limited to) wideband frequency-selective fading channels. In several embodiments, the CFO robustness is realized by a cyclically permutable code (CPC), which can enable a receiver to identify the CFO. In a number of embodiments, an oversampled DiZeT decoder is utilized within the receiver that is capable of estimating the CFO. In certain embodiments, CPC codes are utilized that are constructed with cyclic BCH codes, which can provide the capability to correct additional bit errors and can enhance the performance of the BMOCZ scheme for moderate SNRs.

Due to the low-latency of BMOCZ the CFO and TO estimation can be performed from as few as one single BMOCZ symbol. This blind scheme can be ideal for control-channel applications, where a limited amount of critical and control data is exchanged while at the same time, channel and impairments information needs to be communicated and estimated. Communication systems that employ BMOCZ coded with a CPC in accordance with many embodiments of the invention can enable low-latency and ultra-reliable short-packet communications over unknown wideband channels.

One embodiment of the communication system includes a transmitter having: an encoder configured to receive a plurality of information bits and output a plurality of encoded bits in accordance with a cycling register code (CRC); a modulator configured to modulate the plurality of encoded bits to obtain a discrete-time baseband signal, where the plurality of encoded bits are encoded in the zeros of the z-transform of the discrete-time baseband signal; and a signal generator configured to generate a continuous-time transmitted signal based upon the discrete-time baseband signal. In addition, the communication system includes a receiver, having: a demodulator configured to down convert and sample a received continuous-time signal at a given sampling rate to obtain a received discrete-time baseband signal, where the received discrete-time baseband signal includes at least one of a timing offset (TO) and a carrier frequency offset (CFO); and a decoder configured to decode a plurality of bits of information from the received discrete-time baseband signal. Furthermore, the decoder decodes the plurality of bits of information by: estimating a TO for the received discrete-time baseband signal to identify a received symbol; determining a plurality of zeros of a z-transform of the received symbol; identifying zeros from the plurality of zeros that encode a plurality of received bits; and decoding a plurality of information hits based upon the plurality of received bits using the CRC.

In a further embodiment, the receiver receives the continuous-time transmitted signal over a multipath channel.

In another embodiment, the modulator is configured to modulate the plurality of encoded bits so that the z-transform of the discrete-time baseband signal comprises a zero for each of a plurality of encoded bits.

In a still further embodiment, the modulator is configured to modulate the plurality of encoded bits so that each zero in the z-transform of the discrete-time baseband signal is limited to being one of a set of conjugate-reciprocal pairs of zeros.

In still another embodiment, each conjugate reciprocal pair of zeros in the set of conjugate-reciprocal pairs of zeros comprises: an outer zero having a first radius that is greater than one; and an inner zero having a radius that is the reciprocal of the first radius. In addition, the inner and outer zero have phases that are the same phase, the radii of the outer zeros in each pair of zeros in the set of conjugate-reciprocal pairs of zeros are the same, and the phases of the outer zeros in each pair of zeros in the set of conjugate-reciprocal pairs of zeros are evenly spaced over one complete revolution.

In a yet further embodiment, the cycling register code is a cyclically permutable code (CPC).

In yet another embodiment, the CPC is extracted from a Bose Chaudhuri Hocquenghem (BCH) code.

In a further additional embodiment, the CPC is extracted form a primitive BCH code.

In another additional embodiment, the CPC has a code length that is a Mersenne prime.

In a further embodiment again, the CPC has a code length selected from the group consisting of 3, 7, 31, and 127.

In another embodiment again, the CRC is generated by an inner code and an outer code which are combined in a non-linear fashion.

In a still yet further embodiment, the outer code is a cycling register code having a lower code rate than the inner code.

In still yet another embodiment, the outer code is a cyclically permutable code (CPC).

In a still further additional embodiment, the CRC is an affine CPC (ACPC) code.

In still another additional embodiment, the ACPC is characterized by being attainable using a cyclic inner code having codewords of an inner codeword length, which is affine translated by a given binary word of the inner codeword length, and then further encoded by a cyclic outer code.

In a still further embodiment again, the decoder is configured to estimate the timing offset by measuring energy over an expected symbol length with a sliding window in the sampled signal.

In still another embodiment again, the decoder is configured to measure energy over an expected symbol length by convolving samples with a universal Huffman sequence of the expected symbol length comprising two impulses at the beginning and the end of the expected symbol length.

In a yet further additional embodiment, the decoder is configured to estimate the TO by identifying a set of three energy peaks that yield a maximum energy sum over an expected symbol length.

In yet another additional embodiment, the demodulator is configured to oversample the received continuous-time signal, and the decoder is configured to identify zeros from the plurality of zeros that encode a plurality of received bits by identifying a fractional rotation resulting from the carrier frequency offset.

In a yet further embodiment again, the decoder is configured to determine a most likely set of zeros for the z-transform of the discrete-time baseband signal used to generate the transmitted signal based upon the received symbol.

In yet another embodiment again, the decoder is configured to determine the plurality of received bits by performing a weighted comparison of samples of the z-transform of the received symbol with each zero in a set of zeros.

In a further additional embodiment again, each zero in the z-transform of the discrete-time baseband signal used to generate the transmitted signal is limited to being one of a set of conjugate-reciprocal pairs of zeros.

In another additional embodiment again, the receiver comprises a plurality of receive antennas and the decoder determines the plurality of information bits by combining values derived from the samples of a plurality of continuous-time signals received by the plurality of receive antennas to perform decoding.

A transmitter in accordance with one embodiment of the invention includes: an encoder configured to receive a plurality of information bits and output a plurality of encoded bits in accordance with a cycling register code (CRC); a modulator configured to modulate the plurality of encoded bits to obtain a discrete-time baseband signal, where the plurality of encoded bits are encoded in the zeros of the z-transform of the discrete-time baseband signal; and a signal generator configured to generate a continuous-time transmitted signal based upon the discrete-time baseband signal.

In a further embodiment, the continuous-time transmitted signal comprises a carrier frequency modulated based upon the discrete-time baseband signal.

A receiver in accordance with one embodiment of the invention includes a demodulator configured to down convert and sample a received continuous-time signal to obtain a received discrete-time baseband signal and over sample the received discrete-time signal by zero padding, where the received discrete-time baseband signal includes at least one of a timing offset (TO) and a carrier frequency offset. (CFO); and a decoder configured to decode a plurality of bits of information from the received discrete-time baseband signal by: estimating a TO for the received discrete-time baseband signal to identify a received symbol; determining a plurality of zeros of a z-transform of the received symbol; identifying zeros from the plurality of zeros that encode a plurality of received bits by identifying and correcting a fractional rotation in the plurality of zeros resulting from the CFO; and decoding a plurality of information bits based upon the plurality of received bits using a cycling register code (CRC).

BRIEF DESCRIPTION OF THE DRAWINGS

It should be noted that the patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.

FIG. 1 conceptually illustrates multipath propagation of transmitted signals in a wireless channel.

FIG. 2 conceptually illustrates a transmitter and receiver that utilize a binary MOCZ scheme over an unknown multipath channel distorted by additive noise implemented in accordance with an embodiment of the invention.

FIG. 3 conceptually illustrates carrier frequency-offset (CFO) estimation via oversampling the DiZeT decoder for K=6 data zeros and without channel zeros by a factor of Q=K=6 in accordance with an embodiment of the invention. Blue circles denote the codebook

(6), solid blue circles the transmitted zeros α_(k) and red the received rotated zeros {tilde over (α)}_(k). The conjugate-reciprocal zero pairs are pairwise separated by the basis angle θ₆.

FIG. 4A shows the magnitudes of a Huffman sequence (BMOCZ symbol) for K=127, as pictured by blue circles, and a Huffman bracket or universal Huffman sequence, as pictured with red crosses.

FIG. 4B shows the autocorrelation magnitudes as well as the correlation between the Huffman and bracket sequences of FIG. 4A.

FIG. 5A shows maximal interior Huffman sample energies for K∈{6,7, 10} over η.

FIG. 5B shows probability of wrong timing offset detection over SNR for ideal AWGN channels and multipath with L=10, LOS path and p=0.98 with random CFO for 5·10⁵ runs per SNR point and N_(obs)=270 for K∈{1,4, 5,127} with R_(uni)(K) in equation (8) below.

FIG. 6 shows an iterative back stepping algorithm for estimating timing offset in accordance with an embodiment of the invention.

FIG. 7A shows the absolute-square (energy) of the CIR samples (red crosses) and of the samples of a BMOCZ symbol (blue circles). The CIR experience only NLOS paths with length L=127 and S=83 active paths at an average power decay of p^(n)=0.95^(n) for the nth delay. The normalized BMOCZ symbol has K=127 zeros with 62 outside the unit circle (bit-value one).

FIG. 7B shows the corresponding received energy samples (blue-circles) at SNR=18 dB. An approximation of the CIR energy samples (red-crosses)|h_(n)′|² can be observed as an echo of the last BMOCZ coefficient. The efficient CIR length is determined at L_(eff)=81 at a timing offset of τ=77 with strongest path at τ_(s)=92.

FIG. 8 shows an algorithm for estimating channel length based upon channel energy in accordance with an embodiment of the invention.

FIG. 9 is a chart showing bit-error-rate (BER) over rSNR for BMOCZ with DiZeT for random ϕ∈[0,θ_(K)/2) for L=K=32.

FIG. 10A shows simulated results for a SIMO system for M=1, 2,4 receive antennas over 2000 runs per point at p=0.95 and S=42. In addition, results are presented for a BCH code with no carrier frequency offset and timing offset and an ACPC code with a carrier frequency offset and timing offset using the CIRED Algorithm and the CPBS algorithm.

FIG. 10B shows timing offset and carrier frequency offset estimation errors for M=1, 2 and M=4 receive antennas in the simulations shown in FIG. 10A.

FIG. 11 shows a comparison to two successive OFDM-DPSK blocks, one OFDM-IM, a pilot and QPSK, and a BMOCZ block in time-domain. The solid bars denote the used subcarriers/zeros.

FIGS. 12A and 12B shows BER respectively block-error-rate (BLER) simulation results for arbitrary carrier frequency with an ACPC-(31,11) code for B=11 bits. The E_(b)/N₀ averaged over the fading channel is defined here as 1/BN₀ for B information bits.

FIG. 13 shows BER over E_(b)/N₀ with M=2 and 4 antennas for BMOCZ-ACPC-(31,16) distorted by timing and carrier frequency offsets (green curves). OFDM-IM is shown without carrier frequency offsets and timing offsets.

FIG. 14A shows simulated BER of blind schemes over instantaneous SNR corrected by spectral efficiency.

FIG. 14B shows random channel realizations with Quadriga simulations at maximal delay spread L=41.

FIG. 15A shows a comparison of BMOCZ to OFDM-IM, -GIM, -DPSK with 2 OFDM symbols, and Pilot-QPSK for 1 and 4 antennas at maximal CIR length L=9.

FIG. 15B shows a comparison of BMOCZ to OFDM-IM, -GIM, -DPSK with 2 OFDM symbols, and Pilot-QPSK for 1 and 4 antennas at maximal CIR length L=4.

FIG. 16 shows MATLAB code for creating the generator and check matrices of an ACPC-(n, k−m) code, as well as the binary codeword for the affine shift in accordance with an embodiment of the invention.

DETAILED DESCRIPTION

Turning now to the drawings, communication systems and methods in accordance with various embodiments of the invention utilize a blind (noncoherent) communication scheme, called modulation on conjugate-reciprocal zeros (MOCZ), which can reliably transmit sporadic short-packets of fixed size over channels including (but not limited to) unknown wireless multipath channels. In many embodiments, communication systems utilize MOCZ schemes to transmit reliable and robust data with as few as one symbol in the presence of timing and/or frequency offsets. As is discussed further below, a carrier frequency offset (CFO) can result in an unknown rotation of all zeros of a received signal's z-transform. Therefore, in several embodiments, a binary MOCZ scheme (BMOCZ) is utilized in which the modulated binary data is encoded using a cyclically permutable code (CPC), which can cause the BMOCZ symbol to be invariant with respect to any cyclic shift resulting from a CFO. In a number of embodiments, the communication systems can utilize techniques similar to those described herein to achieve high spectral efficiency and/or low-latency.

In several embodiments, a transmitter modulates the information of a packet on the zeros of a transmitted discrete-time baseband signal's z-transform. The discrete-time baseband signal can be called a MOCZ symbol, which is a finite length sequence of complex-valued coefficients. These coefficients can then modulate a continuous-time pulse shape at a sample period of T=1/W, where W is the bandwidth, to generate a continuous-time baseband waveform. Since the MOCZ symbols (sequences) are neither orthogonal in the time nor frequency domain, the MOCZ design can be seen as a non-orthogonal multiplexing scheme. After up-converting to the desired carrier frequency by the transmitter, the transmitted passband signal can propagate in space such that, due to reflections, diffractions, and/or scattering, different delays of the attenuated signal can interfere at the receiver. Hence, multipath propagation can cause a time-dispersion which can result in a frequency-selective fading channel. Furthermore, a CFO is likely to be present after a down conversion to baseband at the receiver.

Unlike OFDM, which is typically used in long frames, MOCZ can be utilized with shorter transmissions. In a bursty signaling scheme, timing and carrier frequency offsets may need to be addressed from only one received symbol or a small number of received symbols. In MOCZ schemes in accordance with a number of embodiments of the invention, communication is scheduled and timed on a MAC layer by a certain bus, running with a known bus clock-rate. Therefore, timing-offsets of the symbols can be assumed as fractions of the bus clock-rate. Accordingly, MOCZ receivers in accordance with many embodiments of the invention can be designed to be robust to these impairments.

In a communication system that employs MOCZ, a CFO is likely to result in an unknown common rotation of all received zeros. Since the angular zero spacing in a BMOCZ symbol of length K+1 is given by a base angle of 2π/K, a fractional rotation can be easily obtained at the receiver by an oversampling during the post-processing to identify the most likely transmitted zeros (zero-pattern).

Rotations, which are integer multiples of the base angle, can correspond to cyclic shifts of the binary message word. By using a CPC for the binary message, which can be extracted from cyclic codes, such as (but not limited to) Bose Chaudhuri Hocquenghem (BCH) code, a BMOCZ symbol can become invariant against cyclic shifts and hence against a CFO present with a communication system. In several embodiments, use of a CPC to encode a binary message can enable the operation of a communication system in a manner that does not rely upon symbol transmissions for estimation of a CFO, which can reduce overhead, latency, and complexity. In a number of embodiments, the communication system is able to provide a CFO estimation as part of the decoding process of a single BMOCZ symbol. In a number of embodiments, the receiver is able to estimate the cyclic shift that has been introduced by the CFO based upon the mapping of the zeros of the z-transform of the received symbol to bits and the CPC used to encode the transmitted message. Furthermore, the error correction capabilities of the CPC can also improve the BER and moreover the block error-rate (BLER) performance of the communication system tremendously.

By measuring the energy of the expected symbol length with a sliding window in the received signal, a receiver in accordance with various embodiments of the invention can identify arbitrary TOs. The robustness of the TO estimation can be demonstrated analytically, which reveals another strong property of communication systems that employ MOCZ schemes. Once the TO is determined, the symbol can be decoded and the CPC utilized to correct for any CFO.

In many embodiments, communication systems employ multiple receive antennas and achieve robustness to CFO and TO using a CPC for error correction. By simulating BER over the received SNR for various average power delay profiles, with constant and exponential decay as well as random sparsity constraints, performance of communication systems in accordance with various embodiments of the invention in different indoor and outdoor scenarios can be demonstrated.

Communication systems, transmitters, and receivers that can be utilized to transmit data encoded using a CPC by MOCZ in accordance with various embodiments of the invention are discussed further below.

Notation

In the discussion that follows, small letters are used for complex numbers in

. Capital Latin letters denote natural numbers N and refer to fixed dimensions, where small letters are used as indices. Boldface small letters denote row vectors and capitalized letters refer to matrices. Upright capital letters denote complex-valued polynomials in

[z]. The first N natural numbers in

are denoted as [N:={0, 1, . . . , N−1}. For K∈

, K+[N]={K, K+1, . . . K+N−1} is denoted by the K-shift of the set [N. The Kronecker-delta symbol is given by δ_(nm) and is 1 if n=m and 0 otherwise. For a complex number x=a+jb, given by its real part Re(x)=a∈

and imaginary part Im(x)=b∈

with imaginary unit j=√{square root over (−1)}, its complex-conjugation is given by x=a−jb and its absolute value by |x|=√{square root over (xx)}. For a vector x∈

^(N) its complex-conjugated time-reversal or conjugate-reciprocal is denoted by x⁻ , given as x=x_(k) ⁻ =√{square root over (x_(N-k))} for k∈[N]. The discussion also uses A*=Ā^(T) for the complex-conjugated transpose of the matrix A. The N×N identity is written as I_(N) and a N×M matrix with all elements zero is written as O_(N,M). D_(x) refers to the diagonal matrix generated by x∈

^(N). The N×N unitary Fourier matrix F=F_(N) is given entry-wise by f_(l,k)=e^(−j2πlk/N)√{square root over (N)} for l, k∈[N]. T∈

^(N×M) denoted the elementary Toeplitz matrix given element-wise as δ_(n−1m). The all one and all zero vectors in dimension N will be denoted by 1_(N) and 0_(N), respectively. The Euclidean basis vectors in

^(N) are given by {e₁, . . . , e_(N)} elementwise as (e_(i))_(j)=δ_(i,j) for i, j∈1+[N]. The

_(p)-norm of a vector x=(x₀, . . . , x_(N−1))∈

^(N) is given by ∥x∥_(p)=(Σ_(k=0) ^(N−1)|x_(k)|^(p))^(1/p) for p≥1. If p=∞, then ∥x∥_(∞)=max_(k)|x_(k)| and for p=2∥x∥₂=∥x∥. Finally, the expectation of a random variable x is denoted by

[x].

System Model

Systems and methods in accordance with many embodiments of the invention involve transmission of data of an unknown multipath channel. Multipath propagation of transmitted data is conceptually illustrated in FIG. 1. In the illustrated embodiment, the communication system 100 includes a base station 102 that is acting as a broadcasting transmitter and an arbitrary mobile station 104 that is acting as a receiver. In the illustrated embodiment, the signal transmitted by the base station 102 can be received by the mobile station 104 via six different 106 paths of propagation. Therefore, the signal received by mobile station 104 is a superposition of the signals received via the different paths subject to the various delays experienced by the signals. The channel also introduces noise. In the illustrated embodiment, the message data is encoded using a CPC to provide robustness to CFO and/or TO. As is discussed further below, CPCs are just one example of a class of appropriate code and the various embodiments described herein should be understood as not being limited to a single class of code. Instead, systems and methods in accordance with various embodiments of the invention can utilize any code that enables a receiver to detect and/or correct a cyclic rotation (permutation) of the transmitted message bits as appropriate to the requirements of specific applications.

A transmitter and receiver that utilize a binary MOCZ scheme over an unknown multipath channel implemented in accordance with an embodiment of the invention are conceptually illustrated in FIG. 2. The communication system 200 includes a modulator within the transmitter 202 that performs a modulation operation f to transmit data over a multipath channel 204 and a decoder 206 within a receiver that performs a demodulation/decoder operation g. As discussed below, both the modulation operation f and the decoder operation g rely on at least on shared zero-codebook

. It is in principle possible that a receiver can blindly identify the used zero-codebook taken from a predefined set of zero-codebooks to allow for example multiple access schemes. As is discussed below, the transmitter and receiver described herein are practical and can be implemented using logic devices including (but not limited to) field programmable gate arrays, digital signal processors, and/or any of a variety of conventional software defined radio platforms.

The binary message sequence m_(k)∈{0,1} can be chunked at the transmitter in blocks of length K. As is discussed further below, these blocks can then be encoded using a code that is robust to cyclic permutations. In several embodiments, the encoding can involve multiple codes. In certain embodiments, a combination of an inner code an an outer code is utilized, where the inner code is a cyclic code which is affine translated and an outer code which is a cyclic code that provides error correction capabilities and robustness against cyclic shifts. As can readily be appreciated the specific code and/or combination of codes that are utilizes within a transmitter are largely dependent upon the requirements of specific applications in accordance with various embodiments of the invention.

For BMOCZ, the modulator f encodes the block m to a normalized complex-valued symbol (sequence) x=(x₀, . . . , x_(K+1))^(T)∈

⁺¹⁺¹ by using the zero-codebook

of cardinality 2^(K). In many embodiments, when the block size K is small, the discrete-time BMOCZ symbols can be pre-generated using the methods described below for creating a codebook, and is selected using a lookup mechanism such as (but not limited to) a lookup table. The BMOCZ symbol x is typically modulated onto a carrier frequency f_(c) with a pulse generator running at a sampling clock T=1/W to transmit a real-valued passband signal of bandwidth W to the receiver over an unknown time-invariant channel with a maximum delay spread of T_(d)=(L−1)T which resolves L equally spaced multi-paths (delays). After a down-converting and sampling to the discrete-time baseband, the receiver observes the channel output y under an unknown additive noise vector w. As noted above, the down conversion can also introduce a CFO and/or a TO. The demodulator/decoder 206 can obtain from the received signal an estimated block codeword i by the knowledge of the zero-codebook

. As is discussed further below, use of a CPC in the encoding of the transmitted data enables the receiver to decode the transmitted data despite the presence of a CFO and/or a TO.

Although a specific binary MOCZ scheme is described above with reference to FIG. 2, as is discussed below, a variety of MOCZ schemes can be implemented as appropriate to the requirements of a given application in accordance with various embodiments of the invention including (but not limited to) communication systems that employ M-ary MOZ schemes, MOCZ schemes, multiple receive antennas and/or outer codes to provide additional error correction capabilities enabling recovery of message bits in the face of received bit errors. In order to appreciate these different variants, a more complex and generalized model of a communication system that utilizes a MOCZ scheme is described below.

System Model and Requirements

Communication systems and methods in accordance with many embodiments of the system utilize a blind and asynchronous transmission of a short single MOCZ symbol at a designated bandwidth W. In this “one-shot” communication, it can be assumed that no synchronization and no packet scheduling occurs between the transmitter and receiver. Such extreme sporadic, asynchronous, and ultra short-packet transmissions are often employed in applications that include (but are not limited to): critical control applications, exchange of channel state information (CSI), signaling protocols, secret keys, authentication, commands in wireless industry applications, or initiation, and synchronization and channel probing packets to prepare for longer or future transmission phases.

By choosing the carrier frequency, transmit sequence length, and bandwidth accordingly, a receive duration in the order of the channel delay spread can be obtained, which can reduce latency at the receiver (potentially to the lowest latency possible). Since the next generation of mobile wireless networks aims for large bandwidths with carrier frequencies beyond 10 Ghz, in the so called mm Wave band, the transmitted signal duration of a signal transmitted in accordance with an embodiment of the invention can be in the order of nano seconds. Hence, even at moderate mobility, the wireless channel in an indoor or outdoor scenario can be considered as approximately time-invariant over such a short time duration. On the other hand, wideband channels can be highly frequency selective, which can be due to the superposition of different delayed versions (echos) of the transmitted signal at the receiver. This can make performing equalization in the time-domain very challenging and is commonly simplified by using an OFDM scheme. But conventional OFDM typically requires an additional cyclic prefix to convert the frequency-selective channel to parallel scalar channels and, in coherent mode, it often requires additional pilots (training) to learn the channel coefficients. As can readily be appreciated, this can increase latency for short messages dramatically.

For a communication in the mmWave band, massive antenna arrays can be exploited to overcome attenuation. Use of multiple receive antennas can increase complexity and energy consumption in estimating channel parameters and can become a bottleneck in mmWave MIMO systems, especially for mobile scenarios. However, in a sporadic communication one or a small number of symbols are transmitted and additional symbols may follow at an unknown later time. In a random access channel (RACH), a different user may transmit the next symbol from a different location, which will therefore experience an independent channel realization. Hence, the receiver can barely use any channel information learned from past communications. OFDM systems typically approach this by transmitting many successive OFDM symbols as a long frame, to estimate the channel impairments, which can cause considerable overhead and latency if only a few data-bits need to be communicated. Furthermore, to achieve orthogonal subcarriers in OFDM, the cyclic prefix typically has to be at least as long as the channel impulse response (CIR) length, resulting in signal lengths at least twice the CIR length during which the channel also needs to be static. Using OFDM signal lengths much longer than the coherence time might not be feasible for fast time-varying block-fading channels. Furthermore, the maximal CIR length typically needs to be known at the transmitter and if underestimated can lead to a serious performance loss. This is in high contrast to communication systems in accordance with various embodiments of the invention that employ a MOCZ scheme, where the signal length can be chosen for a single MOCZ symbol independently from the CIR length. As is discussed further below, communication systems in accordance with many embodiments of the invention encode transmitted data using CPCs to address the ubiquitous impairments of MOCZ schemes under such ad-hoc communication assumptions for communications involving signal lengths in the order of the CIR length.

After up-converting the MOCZ symbol, which is a discrete-time complex-valued baseband signal x=(x₀, x₁, . . . x_(K))∈

^(K+1) of two-sided bandwidth W, to the desired carrier frequency f_(c), the transmitted passband signal will propagate in space. Regardless of directional or omnidirectional antennas, the signal can be reflected and diffracted at point-scatters, which can result in different delays of the attenuated signal and interfere at the receiver if the maximal delay spread T_(d) of the channel is larger than the sample period T=1/W. Hence, the multipath propagation causes time dispersion resulting in a frequency-selective fading channel. Due to ubiquitous impairments between transmitter and receiver clocks an unknown frequency offset Δf will be present after the down-conversion to the received continuous-time baseband signal {tilde over (r)}(t)=r(t)e ^(j2πtΔf).  (1)

A phase shift ϕ₀ can also be present after down-conversion, which can yield a received continuous-time baseband signal {tilde over (r)}(t)=r(t)e ^(j2πtΔf+jϕ0),  (2)

By sampling {tilde over (r)}_(n)={tilde over (r)}(nT) at the sample period T, the received discrete-time baseband signal can be represented by a tapped delay line (TDL) model. Here the channel action is given as the convolution of the MOCZ symbol x with a finite impulse response {

}, where the

th complex-valued channel tap

describes the

th averaged path over the bin [

T, (

+1)T), which can be modelled by a circularly symmetric Gaussian random variable as

$\begin{matrix} {h_{l} \in \left\{ {\begin{matrix} {{\mathcal{C}\mathcal{N}}\left( {0,{s_{\ell}p^{\ell}}} \right)} & {,{l \in \lbrack L\rbrack}} \\ {0\mspace{115mu}} & {{,{else}}\mspace{25mu}} \end{matrix}.} \right.} & (3) \end{matrix}$ The average power delay profile (PDP) of the channel can be sparse and exponentially decaying, where

∈{0, 1}defines the sparsity pattern of S=|supp(h)|=

=∥s∥₁ non-zero coefficients. To obtain equal average transmit and average receive power the overall channel gain can be eliminated from the analysis by normalizing the CIR realization h=(h₀, . . . , h_(L−1)) by its average energy Σ_(l=0) ^(L−1) s_(l)p^(l) (for a given sparsity pattern), such that

[|h∥²]=1. The convolution output can then be additively distorted by Gaussian noise w_(n)∈

(0, N₀) of zero mean and variance (average power density) N₀ for n∈

as

$\begin{matrix} {{\overset{\sim}{r}}_{n} = {{e^{{{jn}\;\phi} + {j\;\phi_{0}}}\left( {{\sum\limits_{k = 0}^{K}\;{x_{k}h_{n - \tau_{0} - k}}} + w_{n}} \right)} = {{{\sum\limits_{k = 0}^{K}\;{e^{{jk}\;\phi}x_{k}e^{{{j{({n - k})}}\phi} + {j\;\phi_{0}}}h_{n - \tau_{0} - k}}} + {\overset{\sim}{w}}_{n}} = {{\sum\limits_{k = 0}^{K}\;{{\overset{\sim}{x}}_{k}{\overset{\sim}{h}}_{n - \tau_{0} - k}}} + {{\overset{\sim}{w}}_{n}.}}}}} & (4) \end{matrix}$ Here ϕ=2πΔf/1 W mod 2π∈[0, 2π) denotes the carrier frequency offset (CFO) and τ₀∈

the timing offset (TO), which marks the delay of the first symbol coefficient x₀ via the first channel path h₀. The symbol {tilde over (x)}=xM_(ϕ)∈

^(K+1) in (4) has phase-shifted coefficients {tilde over (x)}_(k)=e^(jkϕ)x_(k) as well as the channel {tilde over (h)}_(l)=e^(j(l+r) ^(o) ^()ϕ+jϕ) ⁰ h_(l), which will be also affected by a global phase-shift τ₀ϕ+ϕ₀. Since the channel taps are circularly symmetric Gaussian, their phases are uniformly distributed, and shifts will not change this distribution. By the same argument, the noise distribution of w_(n) is not alternated by the phase-shifts.

Instead of modulating the information of a message m=(m₁, . . . , m_(K))∈[M]^(K) on time or frequency coefficients, communication systems and methods in accordance with many embodiments of the invention can employ a M-ary MOCZ. A MOCZ signal's z-transform is a polynomial of degree K that is determined by exactly K complex-valued zeros α_(k) ^((m) ^(k) ⁾ and a factor x_(K) as

$\begin{matrix} {{X(z)} = {{\sum\limits_{k = 0}^{K}\;{x_{k\;}z^{k}}} = {x_{K}{\prod\limits_{k = 1}^{K}\;{\left( {z - \alpha_{k}^{(m_{k})}} \right).}}}}} & (5) \end{matrix}$

In several embodiments, the MOCZ encoder maps each message m of length K to the zero-pattern (zero-constellation) α(m)=(α₁ ^((m) ¹ ⁾, . . . , α_(K) ^((m) ^(K) ⁾∈

^(K)=

× . . . ×

⊂

^(K) which defines iteratively ∀q=2, . . . ,K:x _(q)=(0,x _(q−1))−(α_(q) ^((m) ^(q) ⁾ x _(q−1),0) and x ₁=(−α₁ ^((m) ¹ ⁾,1),  (6) the normalized MOCZ symbol (constellation) after the last iteration step x=x_(K)/∥x_(K)∥∈

^(K+1). Since the convolution with the CIR in (4) for the noise-free case (no CFO, no TO) is given as a polynomial product Y(z)=X(z)H(z), the transmitted zeros will not be affected by any CIR realization. Moreover, the added random channel zeros will not match any zero in

^(K) with probability one, such that the transmitted zero-pattern can be blind (noncoherent) identified at the receiver. To obtain noise robustness, communication systems in accordance with many embodiments of the invention utilize a Binary MOCZ (BMOCZ) constellation, where each symbol defines the coefficients of a polynomial of degree K given by the zeros (roots)

${{\alpha_{k} \in} = \left\{ {{R^{{2m_{k}} - 1}e^{j\; 2\pi\frac{k - 1}{K}}}❘{m_{k} \in {\mathbb{F}}_{2}}} \right\}},$ which are uniformly placed on a circle of radius R or R⁻¹, selected by the message bits m_(k), see FIG. 3 for K=6. The filled blue circles denote one possible zero constellation of a BMOCZ signal. The basis angle, separating the conjugate-reciprocal zeros pairs, is given by θ_(K)=2π/K. This constellation set can be given by all normalized Huffinan sequences

={x∈

_(K+1)|a(K, η)=x*x⁻ , x₀>0}, i.e., by all x∈

^(K+1) with positive first coefficient and “impulsive-like” autocorrelation a=a(K,η)=x*x =(−η,0_(K)1,0_(K),−η) with η=η(R,K)=(R ^(K) +R ^(−K))⁻¹  (7) for some R>1. The absolute value of (7) forms a trident with one main peak at the center, given by the energy ∥x∥₂ ²=1, and two equal side-peaks of η∈[0,1/2), see FIGS. 4A and 4B. FIG. 4B shows in blue circles the Huffman trident, given by the autocorrelation (7) of a Huffman sequence, and in red crosses the correlation of a Huffman sequence, given in FIG. 4A by blue circles, with the Huffman bracket or universal Huffman sequence, as pictured with red crossed in FIG. 4A. The BMOCZ symbols can be robust against noise if R _(uni) =R(K)=√{square root over (1+sin(π/K))}>1,K≥2.  (8)

Hence, the BMOCZ constellation set

=

with η_(*)=η(R(K), K) is only determined by the number K. From the received N=L+K noisy signal samples (no CFO and no TO)

$\begin{matrix} {{y_{n} = {{{\sum\limits_{k = 0}^{K}\;{x_{k}h_{n - k}}} + w_{n}} = {\left( {x*h} \right)_{n} + w_{n}}}},{n \in \lbrack N\rbrack}} & (9) \end{matrix}$ the BMOCZ decoder can perform Direct Zero-Testing (DiZeT) for each reciprocal zero pair

on the received polynomial magnitude |Y(z)|=|Σ_(n=0) ^(N−1)y_(n)z^(n)| and can decide for the most likely one

$\begin{matrix} {{\hat{m}}_{k} = \left\{ {\begin{matrix} {1,{{{Y\left( {Re}^{j\; 2\pi\frac{k - 1}{K}} \right)}} < {R^{N - 1}{{Y\left( {R^{- 1}e^{j\; 2\pi\frac{k - 1}{K}}} \right)}}}}} \\ {{0,{otherwise}}\mspace{290mu}} \end{matrix},{k = 1},\ldots\;,K,} \right.} & (10) \end{matrix}$ where the inside zero samples are weighted accordingly.

Therefore, a global phase in Y(z) will have no effect on the decoder. But the CFO ϕ modulates the BMOCZ symbol in (4) and causes a rotation of its zeros by −ϕ in (5), which complicates the hypothesis test of the DiZeT decoder. Hence, communication systems in accordance with many embodiments of the invention estimate ϕ and/or use an outer code for BMOCZ to be invariant against an arbitrary rotation of the entire zero-set

^(K). In many embodiments, before decoding can be performed, the TO of the symbol which yields to the convolution (9) is identified. Due to the symmetry of the zero-pattern and the energy concentration of the Huffman sequences, the BMOCZ design can address TO and CFO robustness and estimation, as is discussed further below.

Timing Offset and Effective Delay Spread for BMOCZ

In an asynchronous communication, the receiver typically does not know when a packet from a transmitter (user) will arrive. Hence, in communication systems in accordance with many embodiments of the invention the receiver initially must detect a transmitted packet, which is already one bit of information. It can be assumed that the receiver detects the transmitted packet correctly and that in an observation window of N_(obs)=N_(noise)+K+L received samples, one single MOCZ packet of length K with maximal channel length of L is captured. By assuming a maximal length L and a known or a maximal K at the receiver, the observation window can be chosen, for example, as N_(obs)=2N. From the noise floor knowledge at the receiver, a simple energy detector with a hard threshold over the observation window can be used for a packet detection. An unknown TO τ₀∈[N_(noise)] and CFO ϕ∈[0, 2π) can also be present in the observation window {tilde over (r)} _(n) =e ^(jnϕ)(x*h)_(n−r) ₀ +{tilde over (w)} _(n)=({tilde over (x)}*{tilde over (h)}T ^(τ) ⁰ )_(n) +{tilde over (w)} _(n) ,n∈[N _(obs)].  (11)

The challenge here is to identify τ₀ and the efficient channel length which contains most of the energy of the instantaneous CIR realization h. In conventional communication systems, the estimation of this Time-of-Arrival (TOA) parameter can be performed by observing the same channel under many symbol transmissions, to obtain a sufficient statistic of the channel PDP. As noted above, where only one or a small number of observations are available, obtaining a good estimation can be very challenging.

The efficient (instantaneous) channel length L_(ef), defined by an energy concentration window, is likely to be much less than the maximal channel length L, due to blockage and attenuation by the environment, which might also cause a sparse, clustered, and exponential decaying power delay profile. For the MOCZ scheme, it can be beneficial to correctly identify in the window (11) the first received sample h₀x₀ from the transmitted symbol x, or at least to not miss it, since it will carry most of the energy if h₀ is the line of sight (LOS) path. For the optimal radius in BMOCZ, x0 typically carries on average ¼ to ⅕ of the BMOCZ symbol energy, see also FIGS. 4A and 4B. An overestimated channel length L_(ef) can reduce overall bit-error performance, because the receiver can collect unnecessary noise samples.

Given an assumption of no CSI at the receiver, the channel characteristic. i.e., the instantaneous power delay profile, is determined entirely from the received MOCZ symbol. In a number of embodiments that utilize a BMOCZ scheme, the radar properties of the Huffman sequences can be exploited to obtain estimates of the timing offset and the effective channel delay in moderate and high SNR.

Huffman sequences have an impulsive autocorrelation (7), originally designed for radar applications, and are therefore very suitable to measure the channel impulse response. If the received signal r in (4) has no CFO and the transmitted sequence x is known at the receiver, correlation can be performed with x (matched-filter) and decision made based upon sample maximal energy

$\begin{matrix} {\hat{\tau} = {{H(r)} = {{\arg\mspace{14mu}{\max\limits_{n \in {\lbrack{N_{obs} - K}\rbrack}}{\left( {r*\overset{\_}{x^{-}}} \right)_{n + K}}^{2}}} = {\arg\mspace{14mu}{\max\limits_{n \in {\lbrack{N_{obs} - K}\rbrack}}{{\left( {{a*{hT}_{\tau}} + {w*\overset{\_}{x^{-}}}} \right)_{n + K}}^{2}.}}}}}} & (12) \end{matrix}$

The above approach can be referred to as the HufED (Huffman Energy Detector), since the filtering with the conjugate-reciprocal sequence will detect in an ideal AGWN channel the noise distorted Huffman energy. When the transmitted Huffman sequence is unknown at the receiver, the received signal cannot be correlated with the correct Huffman sequence to retrieve the CIR. Instead, an approximative universal Huffman sequence can be used, which is just the first and last peak of a typical Huffman sequence, expressed by the impulses (δ₀)_(k)=δ_(0k) and (δ_(K))_(n)=δ_(Kk) for k∈[K+11 as x _(ψ)=δ₀ +e ^(jψ)δ_(K)∈

^(K+1)  (13) which an be referred to as the K-Huffman bracket of phase ψ. Since the first and last coefficients are x ₀=√{square root over (R ^(2∥m∥) ¹ ^(−K) ^(η) )},x _(K)=−√{square root over (R ^(−2∥m∥) ¹ ^(+K) ^(η) )}  (14) typical Huffman sequences, i.e., having same amount of ones and zeros, will have ↑x ₀|² =|x _(K)|²=η.  (15) By convolving the modulated Huffman sequence x with the Huffman bracket ϰ_(ψ)the locational properties of the Huffman autocorrelation (trident) are maintained

$\begin{matrix} {\overset{\Cup}{a} = {{\overset{\_}{\aleph_{\overset{\_}{\psi}}}*\overset{\sim}{x}} = \left( {{e^{= {j\;\psi}}x_{0}},{e^{{- j}\;\psi}\overset{\overset{.}{\sim}}{x}},{x_{0} + {e^{j{({{K\;\phi} - \psi})}}x_{K}}},\overset{\overset{.}{\sim}}{x},{e^{{jK}\;\phi}x_{K}}} \right)}} & (16) \end{matrix}$ where x̊=x₀δ₀+z_(K)δ_(K) denotes the exterior signature and {dot over (x)}=(0, x₁, . . . , x_(K−1),0) the interior signature of the Huffman sequence x, see FIG. 4A. Here, the interior signature can be seen as the data noise floor distorting the trident a in (7). Taking the absolute-squares in (16), the three peaks of the approximated trident can be obtained as follows |{hacek over (a)} ₀|² =|x ₀|² ,|{hacek over (a)} _(K)|² =|x ₀|² +|x _(K)|²−2|x ₀ x _(K)|cos(Kϕ−ψ),|{hacek over (a)} _(2K)|² =|x _(K)|²,  (17) where the side-peaks have energy E _(sides) =|x ₀|² +|x _(K)|²=(R ^(2∥m∥) ¹ ^(−K) +R ^(−2∥m∥) ¹ ^(+K))η≤∥x∥ ²=1.  (18)

Since ϵ=2∥m∥₁−K∈[−K, K] we have 2≤R^(ϵ)+R^(−ϵ)≤R^(K)+R^(−K) and 2η≤E_(sides)≤1, where the lower bounds are achieved for typical sequences with ϵ=0 (having the same amount of ones and zeros) and the upper bounds for ϵ=±K (all ones or all zeros). If η=1/2 then the two coefficients (the exterior signature x̊) will carry all the energy of the Huffman sequence. But then also R=1 and the only Huffman sequences (real valued first and last coefficient) are given by x₀=±1/√{square root over (2)}, x_(K)=±1/√{square root over (2)} and x_(k)=0 for k else, which are the coefficients of polynomials with K uniform zeros on the unit circle. For R given by (8) the autocorrelation side-lobe η is exponentially decaying in K but is bounded to η≥1/5 for K=1, 2, . . . , 512. Hence, E_(sides)>0.4, such that almost half of the Huffman sequence energy is always carried in the two peaks.

If the CFO were known, ψ=Kϕ−π could be set to obtain the center peak in (17) E _(center) =|x ₀|² +|x _(K)|²+2|x ₀ ∥x _(K)|4η≥0.8,  (19) i.e., the energy of the center peak is roughly twice as large as the energy of the side-peaks, and reveals the trident in the approximated Huffman autocorrelation ă. But, since the CFO is unknown in many embodiments of the invention and Kϕ−ψ≈2nπ for some n∈

then x₀+x_(K)≈0 for typical Huffman sequences, such that the power of the center peak will vanish. Hence, in the presence of an unknown CFO, the center peak does not always identify the trident. Therefore the positive Huffman bracket

₀ can be correlated with the absolute-square value of x or in presence of noise and channel with the absolute-square of the received signal {tilde over (r)}, which will result approximately in d=

*|{tilde over (r)}| ² =

*|{tilde over (x)}*{tilde over (h)}T ^(τ) ⁰ |² +

*|{tilde over (w)}| ² ≈|{hacek over (a)}| ² *{tilde over (h)}T ^(τ) ⁰ |² +|{tilde over ({tilde over (w)})}| ²∈

₊ ^(N) ^(obs) ^(+K)  (20) where {tilde over (w)} and {tilde over ({tilde over (w)})} are colored noise and

$\begin{matrix} {{\overset{\Cup}{a}}^{2} = \left( {{x_{0}}^{2},{\overset{\overset{.}{\Cup}}{x}}^{2},E_{sides},{{\overset{\overset{.}{\Cup}}{x}}^{-}}^{2},{x_{K}}^{2}} \right)} & (21) \end{matrix}$ denotes the noisy trident which collects three times the instant power delay profile |h|² of the shifted CIR. These three echos of the CIR can be separated where K≥L. The approximation in (20) can be justified by the isometry property of the Huffman convolution. Briefly, L<K, the generated (banded) L×N Toeplitz matrix T_(x)=Σ_(k=0) ^(K)x_(k) T^(k), for any Huffman sequence x∈

(K), is a stable linear time-invariant (LTI) system, since the energy of the output satisfies for any CIR realization h∈

^(L) ∥x*h∥ ² =|hT _(x)|² =tr(hT _(x) T _(x) *h*)=tr(h*A _(x) h)=∥x∥ ² tr(h*h)=∥x∥ ² ∥h∥ ².  (22)

Here, A_(x)=T_(x)T_(x)*is the L×L autocorrelation matrix of x, which is the identity scaled by ∥x∥² if L≤K. Hence, each normalized Huffman sequence, generates an isometric operator T_(x) having the best stability among all discrete-time LTI systems.

In several embodiments, instead of or in addition to taking the absolute-squares before correlating, with the bracket ϰ_(π), the receiver performs an average over different brackets. In several embodiments, the receiver takes P≥2 uniform phases ψ_(p)=2πp/P for p∈[P]. The receiver can then consider the average energy of all P bracket-filters, defining the filter

⁢F P , n ⁡ ( x ~ ) = 1 P ⁢ ∑ p = 0 P - 1 ⁢ ⁢  x ~ * ψ p  n 2 , n ∈ [ N ] . ⁢ ⁢For ⁢ ⁢ n = K ( 23 ) F P , K ⁡ ( x ~ ) = 1 P ⁢ ∑ p = 0 P - 1 ⁢ ⁢  x ~ * ψ p  K 2 =  x 0  2 +  x K  2 - 2 P ⁢  x 0  ⁢  x K  ⁢ ∑ p = 0 P - 1 ⁢ ⁢ cos ⁡( K ⁢ ⁢ ϕ - 2 ⁢ π ⁢ ⁢ p P ) . ( 24 )

Since

${\sum\limits_{p = 0}^{P - 1}\;{\cos\left( {{K\;\phi} - \frac{2\pi\; p}{P}} \right)}} = {{Re}\left( {e^{{jK}\;\phi}{\sum\limits_{p = 0}^{P - 1}\; e^{{- j}\frac{2\pi\; p}{P}}}} \right)}$ for any Kϕ∈

the term will vanish for any 2≤P∈

by the orthogonality of the Fourier basis

${\frac{1}{P}{\sum\limits_{p = 0}^{P - 1}\; e^{{- j}\frac{2\pi\; p}{P}}}} = {{\left( {F_{P}\delta_{0}} \right)^{H}F_{P}\delta_{1}} = {{\delta_{0}^{H}\delta_{1}} = 0.}}$ To reduce the effort a selection of P=2 can be made to yield to the center energy |x₀|²+|x_(K)|²=E_(sides)≥2η for any normalized Huffman sequence. The other filter outputs are bounded by

max n ≠ K ⁢ ⁢ F 2 , n ⁡ ( x ~ ) = max n ≠ K ⁢ 1 2 ⁢ (  x ~ * 0  n 2 +  x ~ * π  n 2 ) = max k ∈ [ K + 1 ] ⁢  x k  2 . ( 25 )

In fact, the filter F_(2,n) can be realized for any received signal y by taking the first approach, i.e. by taking the absolute-square of the received signal and then filtering with the bracket

₀, i.e., F_(2,n)(y)=(|y|²*

₀)_(n). Note, that it holds trivially max{|x₀|²,|x_(K)|²}<F_(2,K)({tilde over (x)}) for K≥2, η∈[0,1/2), ϕ∈[0, 2π) and any x∈

_(K)(η). Moreover, the following holds

$\begin{matrix} {{\max\limits_{k \in {\{{1,2,\ldots,{K - 1}}\}}}{x_{k}}^{2}} \leq {1 - \left( {{x_{0}}^{2} + {x_{K}}^{2}} \right)} \leq {1 - {2{\eta.}}}} & (26) \end{matrix}$

Processes that can be utilized to perform timing offset estimation in accordance with various embodiments of the invention are discussed further below.

Timing Offset Estimation

The delay of the strongest path |h_(s)|=∥h∥_(∞) can be identified from the maximum in (20)

$\begin{matrix} {{\hat{t} = {{\left( {\underset{t \in {\lbrack{N_{obs} + K}\rbrack}}{argmax}d_{t}} \right) - K} = {\left( {\underset{t \in {{\lbrack{N_{obs} - K}\rbrack} + K}}{argmax}d_{t}} \right) - K}}},} & (27) \end{matrix}$ where the last equality follows from the fact that both peaks in

₀ are contributing between K and N_(obs). If the CIR has a LOS path, then s=0 and an estimate for the timing-offset can be found by {circumflex over (τ)}₀={circumflex over (t)}.

When the receiver takes an average over different brackets, simulations reveal the existence of a typical sequence attaining an energy peak of 1−2η, for even K see FIG. 5A. The maximal absolute-square value (peak-power) over η of all Huffman sequences is plotted by a blue diamond line. Typical sequences, denoted by dotted line, achieve the maximal peak-power, whereas atypical or odd-length Huffman sequences have a lower peak-power. Due to the energy normalization, such sequences cannot have more than 3 non-zero coefficients by (26). In fact, it can be shown that for even K the center coefficient x_(K/2) carries the remaining energy. Opposed to codebooks with K odd, where typical sequences have one more or one less zero outside than inside, the bound in (26) is not achievable. If the receiver searches for the energy of the trident the TO estimation of {tilde over (x)}_(τ)=xT_(τ)M_(ϕ) can be improved by the average Trident Energy Detector (aveTriED), which collects the energy of all three peaks

$\begin{matrix} {\tau_{0} = {{\arg\mspace{14mu}{\max\limits_{n}\mspace{14mu}{F_{2,{n + K}}\left( {\overset{\sim}{x}}_{\tau} \right)}}} + {2{F_{2,{n + {2K}}}\left( {\overset{\sim}{x}}_{\tau} \right)}} + {F_{2,{n + {3K}}}\left( {\overset{\sim}{x}}_{\tau} \right)}}} & (28) \end{matrix}$ for any K≥2, τ₀ ∈

, ϕ∈

, 1/2≥η>1/4 and x∈

_(η) ^(K). Here, the center peak is weighted by a factor of two, since it carries the energy of both side-peaks. To increase the maximal filter output further, a maximal energy filter can be utilized in accordance with many embodiments of the invention, which is defined by

F ~ P , n ⁡ ( x ~ ) = max p ∈  P  ⁢  x ~ * 2 ⁢ π ⁢ ⁢ p ⁢ / ⁢ P  n 2 = { max p ⁢  x ~ * 2 ⁢ π ⁢ ⁢ p ⁢ / ⁢ P  2 , n = K ⁢  x n ⁢ ⁢ mod ⁢ ⁢ K  2 , ⁢ n ⁢ ⁢ else , ( 29 ) where for n=K the center energy is increased by maximizing over the P phases

F ~ K ⁡ ( x ~ ) = max p ∈ [ P ] ⁢  x ~ * 2 ⁢ π ⁢ ⁢ p ⁢ / ⁢ P  K 2 =  x 0  2 +  x K  2 - 2 ⁢  x 0  ⁢  x K  ⁢ min p ∈ [ P ] ⁢ ⁢ cos ⁡ ( 2 ⁢ π ⁢ ⁢ p ⁢ / ⁢ P - K ⁢ ⁢ ϕ ) . ( 30 )

Since Kϕ is uniformly distributed, induced by the channel CFO, p can be selected such that Kϕ−π∈[(p−1)/P,p/P]2π. Hence, the worst case estimation (ϕ=pπ/KP for some p) would be −cos(π−π/P)=cos(πr/P)≥1−2/P+(π−2)(P−2)/P²≥3/4 for P≥6, by the extended Kober's inequality, such that for any x∈

_(η) ^(K) and ϕ∈

it holds

F ~ 6 , K ⁡ ( x ~ ) = max p ∈ [ 6 ] ⁢  x ~ * 2 ⁢ p ⁢ ⁢ π ⁢ / ⁢ 6  K 2 >  x 0  2 +  x K  2 + 2 ⁢  x 0  ⁢  x K  ⁢ 3 4 ≥ 5 2 ⁢ η . ( 31 )

Hence, for x∈

_(*) ^(K) and {tilde over (x)}_(τ)=xT_(τ0)M_(ϕ) with τ∈

the maxTriED will identify the true TO

$\begin{matrix} {\tau_{0} = {\hat{n} = {{\underset{n}{argmax}\mspace{14mu}{{\overset{\sim}{F}}_{6,{n + K}}\left( {\overset{\sim}{x}}_{\tau} \right)}} + {2{{\overset{\sim}{F}}_{6,{n + {2K}}}\left( {\overset{\sim}{x}}_{\tau} \right)}} + {{{\overset{\sim}{F}}_{6,{n + {3K}}}\left( {\overset{\sim}{x}}_{\tau} \right)}.}}}} & (32) \end{matrix}$

In FIG. 5B the results of simulations are illustrated for the failure probability for various K's and fixed observation window N_(obs)=4K_(max)=508 of the maxTriED and aveTriED over 5·10⁵ runs, by drawing uniformly in each run a x∈

_(*) ^(K), a CFO ϕ∈[0, 2π), a TOτ∈[128], and i.i.d. additive noise w∈

(0, N₀)^(N). Furthermore, performance was simulated over ideal AWGN channels and for multipath channels with L=10 paths, with LOS and power delay exponent p=0.95. As an ultimate comparison for an ED based TOA estimation, a delta pulse δ₀ was used as a transmit signal and the matched filter detector delED. In an ideal AWGN channel scenario at high SNR the same failure probability as delED is attained for maxTriED with P=6 and K_(max)=127 at only 4.5 dB more, see FIG. 5B. The performance loss can be explained by the power distribution, since the energy on the two peaks is roughly η_(*)˜1/5. Furthermore, the maxTriED can only influence the CFO of one peak. If no CFO were present, and the Huffman sequence would be known at the receiver, the HufED detector in (12) would obtain the same performance as the delED detector. It should be noted that a more sophisticated estimation can be utilized, which can detect an error by a missing trident structure or by exploiting soft-threshold and/or repetition/diversity methods. As can readily be appreciated, the specific detector utilized to detect TO largely depends upon the requirements of specific applications.

In case of NLOS or if the first paths are equally strong, then processes in accordance with several embodiments of the invention can go further back and identify the first significant peak above the noise floor, since the convolution sum of the CIR with the interior signature might produce a significant peak. It should be noted that this might result in a misidentification of the trident's center peak by (27), for example if |h_(s)|/|h₀|>>1. Therefore, processes in accordance with several embodiments of the invention can utilize a peak threshold

$\begin{matrix} {{\rho = {{\rho\left( {K,d} \right)} = {\frac{1}{K + 1}{\sum\limits_{n = {\hat{s} + {\hat{\tau}}_{0}}}^{\hat{s} + {\hat{\tau}}_{0} + K}\; d_{n}}}}},} & (33) \end{matrix}$ which is the average power of the Huffman sequence distorted by the channel and noise. The noise-dependent threshold can be set based upon the Noise Power N₀ to ρ₀=max{ρ(K,d)/10, . . . ,ρ(K,d)/100,10·N ₀}  (34)

By using an iterative back stepping in Algorithm 1 as shown in FIG. 6, the process can stop if the sample power falls below the threshold ρ₀, which finally yields an estimate {circumflex over (τ)}₀ of the timing-offset. In line 3 of Algorithm 1 in FIG. 6 the timing-offset estimate is updated, if the sample power is larger than the threshold ρ₀ and the average power of the preceding samples is larger than the threshold divided by 1+(log b)/3, which will be weighted by the amount b of back-steps. We call the algorithm in FIG. 6 therefore a center-peak-back-step (CPBS) algorithm. As can readily be appreciated, any of a variety of thresholds and/or algorithms can be utilized in determining timing offsets as appropriate to the specific MOCZ scheme utilized and/or the specific requirements of particular applications in accordance with various embodiments of the invention. Processes for performing channel length estimation in accordance with certain embodiments of the invention are discussed further below.

Efficient Channel Length Estimation

Since a communication system that utilizes BMOCZ does not need any channel knowledge at the receiver, it is also well suited for estimating the channel itself at the receiver. Here, a good channel length estimation is helpful for the performance of the decoder, particularly if the power delay profile (PDP) is decaying. At some extent, the channel delays will fade out exponentially and the receiver can cut-off the received signal by using a threshold such as (but not limited to) a certain energy ratio threshold. The average received SNR is

$\begin{matrix} {{rSNR} = {\frac{{\mathbb{E}}\left\lbrack {{x*h}}^{2} \right\rbrack}{{\mathbb{E}}\left\lbrack {w}^{2} \right\rbrack} = {{E\frac{{\mathbb{E}}\left\lbrack {h}^{2} \right\rbrack}{N \cdot N_{0}}} = \frac{1}{N_{0}}}}} & (35) \end{matrix}$ where E=∥x∥²=N is the energy of the BMOCZ symbols, which is constant for the codebook. If the power delay profile is flat, then the collected energy is uniform and the SNR is unlikely to change if the channel length at the receiver is cut. However, the additional channel zeros can increase the confusion for the DiZeT decoder and may reduce BER performance. Therefore, the performance can decrease for increasing L at a fixed symbol length K. For the most interesting scenario of K≈L the BER performance loss is only 3 dB over E_(b)/N₀, but will increase dramatically if L>>K. The reason for this behaviour is the collection of many noise taps, which can lead to more distortion of the transmitted zeros. Since in most realistic scenarios the PDP will be decaying, most of the channel energy is typically concentrated in the first channel taps. Hence, cutting the received signal length to N_(eff)=K+L_(eff), can reduce the channel length to L_(eff)<L and improve the rSNR for non-flat PDPs with p<1, since it holds

$\begin{matrix} {\frac{1}{N_{0}} = {{\frac{N\left( {{\sum\limits_{l = 0}^{L_{eff} - 1}\; p^{l}} + {p^{L_{eff}}{\sum\limits_{l = 0}^{L - L_{eff}}\; p^{l}}}} \right)}{N \cdot N_{0}} \approx \frac{N\;\Sigma_{l}^{L_{eff} - 1}p^{l}}{\left( {K + L} \right)N_{0}} < \frac{N\;\Sigma_{l}^{L_{eff} - 1}p^{l}}{\left( {K + L_{eff}} \right)N_{0}}} = {\frac{N\;{{\mathbb{E}}\left\lbrack {h_{eff}}^{2} \right\rbrack}}{N_{eff}N_{0}}.}}} & (36) \end{matrix}$

Since 1/

[∥h_(effI2)∥²]<<N/N_(eff) a significant gain in SNR can be obtained if L>>K and p<1. Hence, by cutting the received signal to the effective channel length, given by a certain energy concentration, the SNR can be improved and, at the same time, the amount of channel zeros canl be reduced, which is demonstrated in the simulations discussed below.

Assuming knowledge of the noise floor N₀ at the receiver, a cut-off time can be defined as a window of time which, for example, contains 95% of the received energy. As can readily be appreciated, the cut-off time can be determined using any of a variety of techniques appropriate to the requirements of a specific application in accordance with various embodiments of the invention.

In several embodiments of the invention, the estimation of the channel length L_(eff) is performed after the detection of the timing-offset τ₀ with Algorithm 1 from FIG. 6. It can be assumed that the maximal channel delay is L. Since the BMOCZ symbol length is K+1, it is known that the samples r_(h)=(r_(τ) ₀ _(+K+1), . . . , r_(τ) ₀ _(+K+L)) of the received time-discrete signal in (4), which is the CIR correlated by shifts of x and distorted by additive noise (ignoring here the CFO distortion since it is not relevant for the PDP estimation), see FIGS. 7A and 7B. FIG. 7B shows the received signal in blue, given by the Huffman sequence in blue circles and the CIR in red crosses, pictured in FIG. 7A. The last channel tap h_(L) _(eff) will be multiplied by |x_(K)|², which can be as strong as |x₀|² on average.

There are many signal processing methods that can be utilized to detect the efficient energy window N_(eff) in the received samples, including (but not limited to) total variation smoothing, or regularized least-square methods which promotes short window sizes (sparsity). In several embodiments, the process (i.e. Algorithm 2) shown in FIG. 8 is utilized, which iteratively increases L_(eff) starting at 1 and increasing until enough channel energy is collected. The estimate channel/signal energy can be set to E _(r) =∥r _(h)∥² −LN ₀  (37) starting with the maximal CIR length L. By assuming a path exponent of p, processes in accordance with various embodiments of the invention can calculate a threshold for the effective energy E_(eff) ≃μE_(r) with μ=p^(LN) ⁰ ^(/2E) ^(r) . The process can then collect as many samples L_(eff) of r_(h) until the energy E_(eff) is achieved and set N_(eff)=K+L_(eff). The extracted modulated signal can then be given by {tilde over (y)}=({tilde over (r)} _({circumflex over (τ)}0) ,{tilde over (r)} _({circumflex over (τ)}0+1) , . . . ,{tilde over (r)} _(τ) ₀ _(+N) _(eff) ⁻¹),  (38) which can be further processed for CFO detection and final decoding as is discussed further below.

While specific processes are described above for performing channel length estimation, any of a variety of techniques for performing channel length estimation can be utilized as appropriate to the requirements of specific applications in accordance with various embodiments of the invention. Processes for determining CFOs in accordance with various embodiments of the invention are discussed further below.

Carrier Frequency Offset

When processes similar to those described above are utilized to estimate timing offset, processes in accordance with several embodiments of the invention can attempt to estimate a CFO assuming that the down-converted baseband signal in (11) has no further timing-offset and captured all path delays up to N=K+L. Under these assumptions, the signal can further be assumed to experience an unknown CFO of ϕ∈[0, 2π) {tilde over (y)} _(n) =e ^(jnϕ)(x*h)_(n) +w _(n) ,n∈[N].  (39)

This is a common problem in many multi-carrier systems, such as OFDM, which therefore often require CFO estimation algorithms as noted above. For a bandwidth of W=1/T, the relative frequency offset is ϵ=Δf·T=Δf/W.  (40)

Given a carrier frequency of f_(c)=1 GHz with a drastic frequency offset of Δf∈[−1,1] MHz and bandwidth W=1 Mhz, this would result in a relative frequency offset ϵ∈[−1,1], which is able to rotate all zeros by any ϕ=2πϵ∈[0,2π) in the z-plane. Hence, the received polynomial (noiseless) will experience a rotation of all its N−1 zeros by the angle ϕ

$\begin{matrix} \begin{matrix} {{\overset{\sim}{Y}(z)} =} & {{\sum\limits_{n = 0}^{N - 1}\;{{\overset{\sim}{y}}_{n}z^{n}}} = {{\sum\limits_{n = 0}^{N - 1}\;{y_{n}e^{{jn}\;\phi}z^{n}}} = {{Y\left( {e^{j\;\phi}z} \right)} =}}} \\  & {y_{N - 1}{\prod\limits_{n = 1}^{N - 1}\;\left( {{e^{j\;\phi}z} - \gamma_{n}} \right)}} \\ {=} & {{e^{j\;{\phi{({N - 1})}}}y_{N - 1}{\prod\limits_{n = 1}^{N - 1}\;\left( {z - {\gamma_{n}e^{{- j}\;\phi}}} \right)}} =} \\  & {e^{j\;{\phi{({N - 1})}}}x_{K}h_{L - 1}{\prod\limits_{k = 1}^{K}\;{\left( {z - {\alpha_{k}e^{{- j}\;\phi}}} \right){\prod\limits_{l = 1}^{L - 1}\;{\left( {z - {\beta_{l}e^{{- j}\;\phi}}} \right).}}}}} \end{matrix} & (41) \end{matrix}$

As illustrated in FIG. 3 for K=6, each rotated zero (red) {tilde over (α)}_(k)=e^(−jϕ)α_(k) ideally does not leave the zero-codebook set (blue)

$= {(K)\mspace{14mu}\text{:=}\mspace{14mu}{\left\{ {{R^{\pm 1}e^{j\; 2\pi\frac{k}{K}}}❘{k \in \lbrack K\rbrack}} \right\}.}}$ To apply the DiZeT decoder, decoding processes in accordance with many embodiments of the invention find θ such that e^(jθ){tilde over (α)}∈

, i.e., ensuring that all the K data zeros will lie on the uniform grid. Hence, for θ_(K)=2π/K the CFO can be split into ϕ=lθ _(K)+θ  (42) for some l∈[K] and θ∈[0,θ_(K)), where l is called the integer and θ the fractional CFO. When θ=0 (or is correctly compensated), the DiZeT decoder can sample at correct zero positions and decode a cyclic permuted bit sequence {tilde over (m)}=mS^(l) of the transmitted message. The cyclic permutation is due to the unknown integer shift l, which can be corrected by use of a cyclically permutable code to encode the transmitted data in accordance with various embodiments of the invention and as is discussed further below.

Decoding BMOCZ Via FFT

In many embodiments, the DiZeT decoder for BMOCZ can allow a simple hardware implementation at the receiver. In a number of embodiments, the received samples y_(n) are scaled with the radius powers R^(n) respectively R^(−n)

$\begin{matrix} {{yD}_{\underset{\_}{R}}\mspace{14mu}\text{:=}\mspace{14mu}{{y\begin{pmatrix} 1 & 0 & \ldots & 0 \\ 0 & R & \ldots & 0 \\ \vdots & \; & \ddots & \vdots \\ 0 & 0 & \ldots & R^{N - 1} \end{pmatrix}}.}} & (43) \end{matrix}$

By applying the Ñ-point unitary IDFT matrix F*on the N₀ zero-padded scaled signal, where Ñ=QK with Q:=N/K, the samples of the z-transform can be obtained

${\sqrt{N}{y\left( {D_{\underset{\_}{R}}\mspace{14mu} 0_{N,{{QK} - N}}} \right)}F^{*}} = {\left( {{\sum\limits_{n = 0}^{N - 1}\;{y_{n}R^{n}e^{j\; 2\pi\frac{0 \cdot n}{N}}}},\ldots\;,{\sum\limits_{n = 0}^{N - 1}\;{y_{n}R^{n}e^{j\; 2\pi\frac{{({\overset{\sim}{N} - 1})} \cdot n}{\overset{\sim}{N}}}}}} \right) = {Y\left( \alpha_{Q}^{(1)} \right)}}$ where

$\alpha_{Q,k}^{(m)} = {{\alpha_{k}^{(m)}\left( {e^{0},\ldots\;,e^{j\; 2\pi\frac{Q - 1}{QK}}} \right)} \in {{\mathbb{C}}^{Q}.}}$ Hence, the DiZeT decoder simplifies to

$\begin{matrix} {{\hat{m}}_{k} = \left\{ {\begin{matrix} {1,{{{y{\overset{\sim}{D}}_{\underset{\_}{R}}F^{*}}}_{Q{({k - 1})}} < {R^{K - 1}{{y{\overset{\sim}{D}}_{{\underset{\_}{R}}^{- 1}}F^{*}}}_{Q{({k - 1})}}}}} \\ {{0,{else}}\mspace{365mu}} \end{matrix},{k = 1},\ldots\;,{K.}} \right.} & (44) \end{matrix}$

Here, Q≥2 can be seen as an oversampling factor of the IDFT, where each Qth sample point is picked to obtain the zero sample values. Hence, in many embodiments the decoder can be fully implemented by a simple IDFT from the delayed amplified received signal, by using for example FPGA or even analog front-ends. The diagonal scaling matrix (43) can be rewritten in the symmetric form D _(R):=diag(R ^((N−1)/2) , . . . ,R ^(−(N−1)/2))=R ^(−(N−1/2) D _(R),  (45) such that D_(R) ⁻¹=D_(R−1) corresponds to a time-reversal of the diagonal, which results in |y{tilde over (D)} _(R) F* _(QK)|_(Qk)≤| y ⁻ _(R) F* _(QK)|_(Qk) ,k∈[K],  (46) since the absolute values cancel the phases from a circular shift S and the conjugate-time-reversal y⁻ =ySΓ, where Γ=F² is the circular time-reversal, can be rewritten by using F*Γ=F=F*.

Fractional CFO Estimation Via Oversampled FFTs

To estimate the factional frequency offset, oversampling can be performed in many embodiments of the invention by choosing Q>┌N/K┐ to add Q further K zero blocks to D_(R). This can lead to an oversampling factor of Q and allows quantization of [0,θ_(K)) in Q uniform bins with separation ϕ_(Q)=θ_(K)/Q for a base angle θ_(K)=2π/K. Hence, the absolute values of the sampled z-transform in (39) of the rotated codebook-zeros are given by |{tilde over (Y)}(e ^(jqϕQ)α_(k) ⁽¹⁾)=|{tilde over (y)}{tilde over (D)} _(R) F* _(QK)|_(Qk⊕Ñq) ,|{tilde over (Y)}(e ^(jqϕQ)α_(k) ⁽⁰⁾)|=| {tilde over (y)} ⁻ {tilde over (D)} _(R) F* _(QK)|_(Qk⊕Ñq)  (47) for each q∈[Q] and k∈[K], where ⊕_(N) is addition modulo N. To estimate the fractional frequency offset of the base angle, the K smaller sample values can be summed and the fraction corresponding to the smallest sum selected

$\begin{matrix} {\hat{q} = {\arg\mspace{14mu}{\min\limits_{q \in {\lbrack Q\rbrack}}{\sum\limits_{k = 1}^{K}\;{\min\left\{ {{{\overset{\sim}{y}{\overset{\sim}{D}}_{R}F_{QK}}}_{{Qk} \oplus_{\overset{\sim}{N}}q},{{\overset{\_}{{\overset{\sim}{y}}^{-}}{\overset{\sim}{D}}_{R}F_{QK}}}_{{Qk} \oplus_{\overset{\sim}{N}}q}} \right\}\mspace{14mu}{and}\mspace{14mu}\hat{\theta = {\frac{\hat{q}}{Q}{\theta_{K}.}}}}}}}} & (48) \end{matrix}$

Then the recovered signal ŷ={tilde over (y)}M^(−{circumflex over (θ)}) will have the data zeros on the constellation grid

. See FIG. 9 for the BER performance degradation of BMOCZ under a random fractional CFO ϕ∈[0, θ₃₂] and FIG. 3 for a schematic picture of the fractional zero rotation.

Using Cyclically Permutable Codes

To be robust against rotations which are integer multiples of the base angle, an outer block code in

₂ ^(K) can be used for the binary message m∈

₂ ^(B), which is invariant against cyclic shifts, e.g., a bijective mapping on the Galois Field

₂={0,1}

:

₂ ^(B)→

₂ ^(K) ,m

c=

(m)  (49) such that

⁻¹(cS^(l))=m for any l∈[K]. The common notation for the code length n=K can be used. Such a block code is called a cycling register code (CRC)

_(CRC), which can be constructed from the linear block code

₂ ^(n), by separating it in all its cyclic equivalence classes [c]_(CRC) ={cS ^(l) |l∈[n]},c∈

₂ ^(n)  (50) where c has cyclic order v if cS^(v)=c for the smallest possible v∈{1, 2, . . . , n}. To make coding one-to-one, each equivalence class can be represented by the codeword {tilde over (c)} with smallest decimal value, also called a necklace. Then

₂ ^(n) is given by the union of all its M_(CRC) equivalence class representatives and its cyclic shifts, i.e.

$\begin{matrix} {{\mathbb{F}}_{2}^{n} = {\bigcup\limits_{i = 1}^{M_{CRC}}\left\{ {{{{{\overset{\sim}{c}}_{i}S^{l}}❘l} = 1},\ldots\;,{v(i)}} \right\}}} & (51) \end{matrix}$

In a number of embodiments, the above expression can be utilized to generate in a systematic way a look-up table for the cycling register code. Unfortunately, the construction is non-linear and combinatorial difficult. However, the cardinality of such a code can be proven explicitly for any positive integer n to be (number of cycles in a pure cycling register)

 CRC ⁢ ( n )  = 1 n ⁢ ∑ d ❘ n ⁢ Φ ⁡ ( d ) ⁢ 2 n ⁢ / ⁢ d ( 52 ) where Φb(d) is the Euler function, which counts the number of elements t∈[d] coprime to d.

For n prime, the following can be obtained

 CRC ⁢ ( n )  = 1 n ⁢ ( 2 n + ( n - 1 ) ⁢ 2 ) ≥ 2 n n = 2 n - log 2 ⁢ ⁢ n ( 53 ) which would allow a transmitter to encode at least B=n−[log n] bits. For n=K=31 this would result in a loss of only 5 bits and is similar to the loss in a BCH-(31,26) code, which can correct 1 bit error. Note, the cardinality of a cycling register code

_(CRC) is minimal if n is prime. This can be seen by acknowledging the fact that the cyclic order of a codeword is always a divisor of n. Therefore, if n is prime the trivial orders 1 and n are present, where the only codewords with order v=1 are the all one 1 and all zero 0 codeword and all other codewords have the maximal or full cyclic order v=n. Hence, extracting the CRC from

₂ ^(n) obtains the same cardinality (53). Taking from a block code of length n only the codewords of maximal cyclic order n and selecting only one representative of them defines a cyclically permutable code (CPC). If n is prime, only two equivalence classes in

_(CR) are not of maximal cyclic order, hence the cardinality for a CPC if n is prime is at most (2^(n)−2)/n.

However, the construction of CPCs, even for n prime, is a combinatorial problem, especially the decoding. Hence, to reduce the combinatorial complexity, many approaches starting from cyclic codes and extract all codewords with maximal cyclic order. Since a cyclic (n, k, d_(min)) code corrects up to (d_(min)−1)/2 bit errors, any CPC code extraction will inherit the error correction capability.

In many embodiments, a CPC can be constructed from a binary cyclic (n,k, d_(min)) code by still obtaining the best possible cardinality (2^(k)−2)/n if n is a Mersenne prime. An affine subcode can be extracted from the CPC with maximal dimension, which can be referred to as an affine cyclically permutable code (ACPC). This allows a linear encoding of B=k−log(n+1) bits by a generator matrix and an additive non-zero row vector, which defines the affine translation.

CPC Construction from Cyclic Codes

Cyclic codes exploit efficiently the algebraic structure of Galois fields

_(q), given by a finite set having a prime power cardinality q=p^(m′). A linear block code over

_(q) is a cyclic code if each cyclic shift of a codeword is a codeword. It is a simple-root cyclic code if the characteristic p of the field

_(q) is not a divisor of the block length n. If the block length is of the form n=q^(m)−1, it can be referred to as a primitive block length and if the code is cyclic it can be called a primitive cyclic code. In a number of embodiments, binary cyclic codes of prime length n=2^(m)−1 with q=p=2 are utilized, which are simple-root and primitive cyclic codes. Due to the linearity of cyclic codes, they can be encoded and decoded by a generator G and check matrix H in a systematic way. The cardinality of a binary cyclic (n, k) code is always M_(c)=2^(k). Hence, for cylic codes of prime length n, the partitioning in equivalence classes of maximal cyclic order and selecting one codeword as their representative provides, leaves us with a maximal cardinality of

 CPC  ≤ 2 k - 1 n . ( 54 ) for any extracted CPC. Note, the zero codeword is always a codeword in a linear code but has cyclic order one and hence is typically not an element of a CPC. To exploit the cardinality most efficiently, the goal is to find cyclic codes such that each non-zero codeword has maximal cyclic order. In several embodiments, codes are constructed for prime code lengths of the form n=2^(m)−1, also known as Mersenne primes. For m=2, 3, 5, 7 this applies to K=n=3, 7,31,127, which are relevant signal lengths for binary short-messages. Furthermore, several embodiments only consider cyclic codes which have 1 as a codeword. Since n is prime, each codeword, except 0 and 1 has maximal cyclic order. Hence, each codeword of a cyclic (n, k) code has maximal cyclic order and since it is a cyclic code all its cyclic shifts must be also codewords. Hence the cardinality of codewords having maximal order is exactly M=2^(k)−2. In a number of embodiments, the cylic code is partitioned in its cyclic equivalence classes, which leaves

_(CPC)|=M/n=(2^(k)−2)/n. Note, this number is indeed an integer, by the previous mentioned properties. The main advantages of the construction described herein (also referred to as the Kuribayashi-Tanaka (KT) construction) is the systematic code construction and the inherit error-correcting capability of the underlying cyclic code, from which the CPC is constructed. Furthermore, combining error-correction and cyclic-shift corrections can provide advantages in many systems that utilize BMOCZ in accordance with various embodiments of the invention.

In a number of embodiments, an inner

_(in)−(k, k−m) cyclic code is utilized in combination with an outer

_(out)−(n, k) cyclic code, where the inner cyclic codewords are affine translated by the Euclidean vector e₁=(1,0, . . . , 0) ∈

₂ ^(k)[. In this sense, the CPC construction is affine. This can be realized by an affine mapping from

₂ ^(k−m) to

₂ ^(n), which can be represented by the BCH generator matrices G_(in) and G_(out) together with the affine translation e₁ as

:

₂ ^(k−m)→

_(in) +e ₁→

_(out)⊂

₂ ^(n) m

i=mG _(in) +e ₁

c=iG _(out)=

(m).  (55)

To derive the generator matrix the algebraic structure of the cyclic codes can be exploited, given by its Galois fields. By definition of cyclic codes, the following polynomial is factorized

$\begin{matrix} {{x^{n} - 1} = {\left( {x - 1} \right){\prod\limits_{s = 1}^{S}\;{G_{s}(x)}}}} & (56) \end{matrix}$ in irreducible polynomials G_(s)(x) of degree m_(s), which are divisors of m. If n=2^(m)−1 is prime, in =log(n+1) is also prime and hence all the irreducible polynomials are primitive and of degree m_(s)=m, except one of them, G₀(x)=x−1, has degree one. Hence, it holds that S=(n−1)/m. As outer generator polynomial G_(out)(x)=[Π_(s=S−J+1) ^(S) G_(s)(x)=Σ_(i=0) ^(Jm)g_(out,i)x^(k) several embodiments of the invention choose the product of the last 1≤J≤S primitive polynomials G_(s)(x) yielding a degree Jm=j−k. Each codeword polynomial of degree less than n is then given by C(x)=I(x)G _(out)(x)  (57) where I(x)=Σ_(a=0) ^(k−1) i_(a)x^(a) is the informational polynomial of degree less than k and represented by the binary information word i=(i₀, i₁, . . . , i_(K=1))∈

₂ ^(k), which can be referred to as the inner codeword. Similar, the codeword polynomial C(x) is represented by the CPC codeword c∈

₂ ^(n). A message polynomial M(x)=Σ_(b=0) ^(k−m−1)m_(b)x^(b) of degree less than k−m and R(x)=1 will be mapped to the information polynomial I(x)=M(x)G _(in)(x)+1,  (58) by the inner generator polynomial G_(in)(x)=G₁(x), which has degree n.

All possible cyclic equivalence classes can be mapped to M(x). For J=1, all the possible S−1 primitive polynomials G_(s)(x) generate S−1 distinct inner codes. However, the remaining S−2 inner codes will only map <2^(k−m) more message polynomials to codeword polynomials and therefore are not enough to encode an additional bit. Hence, these other inner codewords can be omitted. This has the advantage, that (55) can be written with the subset of the CPC as an affine cyclically permutable code (ACPC), which is given by the polynomial multiplication over

₂ C(x)=I(x)G _(out)(x)=(M(x)G _(in)( )+1)Gout(x)=M(x)G(x)+G _(out)(x).  (59)

Here, a third generator polynomial G(x)=G_(in)(x)G_(out)(x) can be introduced which will be affine translated by the polynomial G_(out)(x). This generator polynomial G(x) will map surjective

₂ ^(k−m) to a cyclic code in

₂ ^(n) and can therefore be expressed in matrix form as mG+g _(out)∈

_(ACPC)∈

_(out)  (60) where g_(out)=(g_(out,0), . . . , g_(out,n−k),0, . . . , 0)∈

₂ ^(n) and the generator matrix (Toeplitz) is given by k−m shifts of the generator polynomial coefficients g₀, . . . , g_(n−(k−m)) as

$\begin{matrix} {G = {\begin{pmatrix} g_{0} & g_{1} & \ldots & g_{k - m - 1} & \ldots & g_{n - {({k - m})}} & 0 & \ldots & 0 \\ 0 & g_{0} & \ldots & g_{k - m - 2} & \ldots & g_{n - {({k - m})} - 1} & g_{n - {({k - m})}} & \ldots & 0 \\ ❘ & \vdots & \; & \; & \; & \; & \; & \backslash & \vdots \\ 0 & 0 & \ldots & g_{0} & \ldots & \; & \; & \ldots & g_{n - {({k - m})}} \end{pmatrix} \in {{\mathbb{F}}_{2}^{k - {m \times n}}.}}} & (61) \end{matrix}$

For linear codes, the Euclidean algorithm can be used to compute x^(n−i)=Q_(i)(x)G(x)+S_(i)(x) for i=1, . . . , k−m, where the remainder polynomials S_(i)(x)=Σ_(j)s_(i,j)x^(j) will have degree less than n−(k−m), which allows one to rewrite the Toeplitz matrices as systematic matrices. Here, the check symbols s_(i,j) define the k−m x n systematic generator and n−k+m x n check matrix

$\begin{matrix} {{\overset{\sim}{G} = \left\lbrack {{- P}\mspace{14mu} I_{k - m}} \right\rbrack},{\overset{\sim}{H} = {{\left\lbrack {I_{n - k + m}\mspace{14mu} P^{T}} \right\rbrack\mspace{14mu}{with}\mspace{14mu} P} = \begin{pmatrix} s_{{k - m},0} & \ldots & s_{{k - m},{n - k + m - 1}} \\ s_{{k - m - 1},0} & \ldots & s_{{k - m - 1},{n - k + m - 1}} \\ \vdots & \; & \vdots \\ s_{1,0} & \ldots & s_{1,{n - k + m - 1}} \end{pmatrix}}}} & (62) \end{matrix}$ such that {tilde over (G)}{tilde over (H)}^(T)=O_(k−m,n−k+m). This allows one to write the cyclic outer code as

₂ ^(k−m)G=

₂ ^(k−m){tilde over (G)}. Of course, each mG and m{tilde over (G)} can be mapped to different codewords, but this is just a relabeling. Since

₂ ^(k−m){tilde over (G)} defines a cyclic (n, k−m) code and n is prime, each codeword has n distinct cyclic shifts. The affine translation g_(out) separates each of these n distinct cyclic shifts by mapping them to representatives of distinct cyclically equivalence classes of maximal order. This can provide a very simple encoding rule for each m∈

₂ ^(B): c=m{tilde over (G)}+g _(out)=

(m)∈

_(ACPC),  (63) and decoding rule. Here an ACPC codeword c can be decoded by just subtracting the affine translation g_(out) and cut-off the last B=k−m binary letters to obtain the message word m∈

₂ ^(B), see (62). However, it can be observed that a cyclic shifted codeword v=cS^(l) and by construction that only one cyclic shift will be an element of

_(ACPC) and consequently it holds

∀j≠l mod(n−1):{tilde over (c)} _(j) =vS ^(−j) −g _(out)∉

₂ ^(k−m) {tilde over (G)}⇔{tilde over (c)} _(j) {tilde over (H)} ^(T)≠0.  (64)

Hence, it is only necessary to check all n cyclic shifts of the sense-word v to identify the correct cyclic shift l, which is given if {tilde over (c)}_(l) {tilde over (H)}^(T)=0. If there is an additive error e, process in accordance with various embodiments of the invention can use the error correcting property of the outer cyclic code

_(out) in (59) to repair the codeword. The systematic matrices can be used {tilde over (G)}_(out) and {tilde over (H)}_(out) to represent the outer cyclic code in a systematic way. Note, that each information message i which corresponds to a CPC codeword c will be an element of

₂ ^(k){tilde over (G)}_(out). Furthermore, all its cyclic shifts cS^(l) will be outer cyclic codewords. Hence, by observing the sense-word {tilde over (v)}=cS ^(l) +e  (65) and determining its syndrome s=v{tilde over (H)}_(out) ^(T), which is looked-up in the syndrome table T_(synd) of {tilde over (H)}_(out) to identify the corresponding coset leader (error-word) e, which recovers the shifted codeword (assuming maximal t errors, bounded-distance decoder) as v={tilde over (v)}−e,  (66)

This can allow the receiver to correct up to t=(n−k−1)/2 errors of the cyclic codeword. From the additive error-free sense-word c the process can, as described previously, identify the correct shift {circumflex over (l)} from (64) and by taking the last B=k letters the original message m. If the error vector e introduces more than t bit flips, the error correction is likely to fail and the chance is high that the receiver will mix up the ACPC codewords and experience a block (word) error. In many embodiments, a low coding rate is utilized for the outer cyclic code G_(out) to reduce the likelihood of such a catastrophic error. In several embodiments, the rate of the outer code can adapt in response to measured channel conditions. In a number of embodiments, the receiver can transmit a message containing at least one of a selected code rate and/or channel measurement to coordinate changing the rate of the outer code in the transmitter.

The identified cyclic shift and fractional CFO estimation (48) yields then the estimated CFO {circumflex over (ϕ)}={circumflex over (θ)}+{circumflex over (l)}θ _(K).  (67)

While specific processes are described above for estimating TO, and/or CFO in addition to correcting bit errors, any of a variety of codes including CRC, CPC, ACPC, and/or any other codes that can be utilized to detect cylic purmutations and/or receiver implementations can be utilized as appropriate to the requirements of specific applications in accordance with various embodiments of the invention. Simulations of various communication systems implemented using BMOCZ schemes and employing cyclic codes to encode message bits in accordance with a number of embodiments of the invention are discussed further below.

Implementation in Matlab

Simulations of communication systems employing MOCZ and cyclic codes can be performed in Matlab by using the function primpoly((m, ‘all’) to list all primitive polynomials for

₂ _(m) . The first in the list can be selected for G_(in) and the product of the last l for G_(out). The Euclidean algorithm is implemented by gfdeconv. Note, the decimal value of the binary words can be given by m=m(2)=Σ_(b)m_(b)2^(b) and implemented by de2bi(vm). The generator and check matrices can be constructed as well as the syndrome table T_(synd) for the error correction.

FIG. 16 shows the Matlab program (Code) for creating the systematic generator matrix G in line 20, defined by {tilde over (G)} in (62), and the systematic check matrix tH in line 21, defined by {tilde over (H)} in (62), as well as the affine shift a in line 22, defined by g_(out) after (60), to encode binary messages m of length B=k−m to ACPC codewords c of length n=2^(m)−1 by (63). Furthermore, a syndrome table Tsynd for the outer cyclic (BCH) code is created in line 30 and the check matrix tHout to correct by the syndrome additive errors in the sense-word {tilde over (v)}, as in (66). Note, that the value of k can be chosen from a list of BCH-(n,k) codes to correct up to t=(n−k−1)/2 errors.

Decoding: First an additive error-correction is performed in the outer code

_(out), which works as for cyclic codes via the syndrome-table T_(synd) and the check matrix {tilde over (H)}_(out). First, the syndrome s=v{tilde over (H)}_(out) ^(T) is computed and looked-up in the syndrome-table to identify the corresponding coset leader (error-word) e, which yields the recovered shifted codeword (assuming maximal t errors, bounded-distance decoder) as {tilde over (c)}=v−e.  (68)

From the additive error-free but circular shifted codeword {tilde over (c)} the process can construct all n shifts, subtract the constant shift vector a=g_(out), and apply the check matrix {tilde over (H)}_(out) to find the one shift which is most likely the ACPC codeword

Example 1

The most non-trivial example of ACPC is for m=3 and l=1, which gives n=2³−1=7,k=7−3=4,B=4−1=1  (69)

This is also the Hamming (7, 4) code with minimal distance d_(min)=3 and hence can correct 1 bit error. The code is also perfect.

Example 2

For K=n=31 it is possible to get for t=2 error corrections a message length of k=21 in a cyclic BCH-(31, 21) code from which it is possible to construct a CPC of cardinality

 CPC  = ∑ i = 1 4 ⁢ ⁢ 2 5 ⁢ ( i - 1 ) + 1 = 2 1 + 2 6 + 2 11 + 2 16 = 6750 ≥ 2 16 . ( 70 )

This allows communication systems in accordance with several embodiments of the invention to encode B=16=k−mbits. The cardinality can be optimal for any cyclic (31,26) code (54)

$\begin{matrix} {{\ell_{CPC}} = {\frac{M_{c}}{n} = {\frac{2^{21} - 2}{31} = {{2\frac{2^{20} - 1}{2^{5} - 1}} = {{\sum\limits_{i = 0}^{3}\; 2^{{5i} + 1}} = {{2^{1} + 2^{6} + 2^{11} + 2^{16}} = 6750.}}}}}} & (71) \end{matrix}$

The next example would be for n=127, which is also simulated in FIGS. 10A and 10B. Unfortunately, the next Mersenne prime is only at 8191, which may not constitute a short-packet length in many applications. However, other CPC constructions can be utilized in certain embodiments of the invention, which do not require Mersenne prime lengths n or even binary alphabets. For example only prime lengths can be required or/and non-binary alphabet extensions which allow the usage of M-ary MOCZ schemes. In many embodiments, CPCs are utilized with alphabet size q, given as a power of a prime, and block length n=q^(m)−1 for any positive integer m. Hence, for q=2 and a binary cyclic code (n=2^(m)−1, k, d_(min)) the code can result in (2^(k)−1)/n CPC codewords. An example can be given for n=15=2⁴−1 and k=8, d_(min)=4 where i is not a Mersenne prime number and the maximal bound (54) of (2⁸−1)/15=17 is achieved, allowing a transmitter to encode B=4 bits and a receiver to correct 2 bit errors, which is very close to the BCH code (15,7) with 2 bit error correction.

Consideration should also be given to what may be the shortest non-trivial CPC, which can be addressed without cyclic code construction, but also with no error correction capabilities.

Example 3

For n=3 the communication system may only have 2³=8 binary words of length 3 which have 4 different cyclic permutable codewords c₁=1, c₂=(1, 1, 0), c₃=(1,0,0), c₄=0 allowing the transmitter to encode B=2 bits of information with no error correction. However, this code allows a TO estimation, as well as a CIR estimation. By omitting c₁ and c₄, i.e., by dropping one bit of information, an estimate can be obtained with the DiZeT oversampling decoder for any possible CFO.

While specific codes and encoder and decoder implementations are described above, communication systems in accordance with various embodiments of the invention can use any of a variety of codes that are rotation invariant and/or provide bit error correction capabilities as appropriate to the requirements of specific applications in accordance with various embodiments of the invention. The simulation of specific communication systems in accordance with a number of embodiments of the invention is discussed further below.

Simulations

Monte-Carlo simulations of communication systems in accordance with various embodiments of the invention were performed using MatLab 2017a the bit-error-rate (BER) over averaged E_(b)/N₀ and rSNR under various channel settings and block lengths K. The transmit and receive time was in all schemes N=K+L over which the CIR h of length L was assumed to be static, see FIG. 11. Here, we schematic illustrate the usage of the N sample resources of the BMOCZ, Binary PPM, QPSK with delta Pilot, OFDM-IM of order 3 and final OFDM-Differential PSK, utilizing two consecutive OFDM symbols with CP1 and CP2 cyclic prefix. The blue marked area gives the data samples, where the black samples denote the actual active samples for the data. Note, a Guard or CP requires always at least L−1 samples, where a Pilot requires L samples. Therefore, the energy per bit was E_(b)=B/N with B=∥m∥₁ which is the inverse of the spectral efficiency ρ=N/B. In each simulation run, the CIR coefficients were redrawn according to the channel statistic given by (3) with decay exponent p≤1 and support s. The CFO ϕ was drawn uniformly from [0,2π) and the timing-offset τ₀ uniformly form [0, N]. Furthermore, the additive distortion was also drawn from an i.i.d. Gaussian distribution CN(0, N₀), which was scaled to obtain various received SNR and E_(b)/N₀ values, see FIG. 12A. Here the oversampled BMOCZ-ACPC encoded scheme in purple filled circles only loses 4 dB in performance compared to the BCH encoded BMOCZ in the low to mediocre SNR regimes. The fractional CFO can be compensated in high SNR regime by increasing the oversampling factor, see gray squared line,

Due to the embedded error correcting and a complete failure if a wrong CPC codeword is detected, the BER and BLER (block-error-rate) are almost identical over received SNR for BMOCZ-ACPC, see purple filled circle line in FIG. 12B.

Of course, it would be also possible to detect a wrong decoding and request a retransmit.

Multiple Receive Antennas

For a receiver with M antennas, receive antenna diversity can be exploited, since each antenna can receive the transmit signal over an independent CIR realization (best case). Due to the short wavelength in the mmWave band large antenna arrays with λ/2 spacing can be easily installed on small devices. It was assumed in all simulations:

-   -   The B information bits m∈         ₂ ^(B) are drawn uniformly.     -   All signals arrive with the same timing-offset τ₀ at the M         receive antennas (dense antenna array, fixed relative antenna         positions (no movements)).     -   The clock-rate for all M antennas is identical, hence all         received signals have the same CFO.     -   The maximal CIR length L, sparsity level S, and PDP p are the         same for all antennas.     -   Each received signal experiences an independent noise and CIR         realization, with sparsity pattern s_(m)∈{0, 1}^(L) for         |supp(s_(m))|=S and h_(m)∈         ^(L) where h_(m,l)=         (0, s_(m,l)p^(l)).

The DiZeT decoder (44) for BMOCZ without TO and CFO, can be implemented in a straight forward manner relative to a single-input-multiple-output SIMO antenna system:

$\begin{matrix} {{\hat{m}}_{k} = \left\{ {\begin{matrix} 1 & {,{{\sum\limits_{m = 1}^{M}\;{{y_{m}{\overset{\sim}{D}}_{\underset{\_}{R}}F^{*}}}_{Q{({k - 1})}}^{2}} < {R^{{2K} - 2}{\sum\limits_{m = 1}^{M}\;{{y_{m}{\overset{\sim}{D}}_{{\underset{\_}{R}}^{- 1}}F^{*}}}_{Q{({k - 1})}}^{2}}}}} \\ 0 & {{,{else}}\mspace{500mu}} \end{matrix}.} \right.} & (72) \end{matrix}$

CFO Estimation for Multiple Receive Antennas

In many embodiments, the fractional CFO is estimated by (48) for M received signals y_(m)

$\begin{matrix} {\hat{q} = {\arg\mspace{14mu}{\min\limits_{q \in {\lbrack Q\rbrack}}{\sum\limits_{k = 1}^{K}\;{\min{\left\{ {{\sum\limits_{m = 1}^{M}\;{{{\overset{\sim}{y}}_{m}{\overset{\sim}{D}}_{R}F_{QK}}}_{{Qk} \oplus {\,_{\overset{\sim}{N}}q}}},{\sum\limits_{m = 1}^{M}\;{{{\overset{\_}{{\overset{\sim}{y}}^{-}}}_{m}{\overset{\sim}{D}}_{R}F_{QK}}}_{{Qk} \oplus {\,_{\overset{\sim}{N}}q}}}} \right\}.}}}}}} & (73) \end{matrix}$

The effect of different coding rates on BER and block error rate (BLER) for the BMOCZ-ACPC-(K, B) scheme with K=31 transmitted zeros and channel lengths L=16,32 with flat power profile p=1 is shown in FIGS. 12A and 12B. If the coding rate is decreased to B/K=6/31≃1/5, allowing up to 5 bit error corrections, a BLER of 10⁻¹ can be achieved at almost 6 dB received SNR, which is 6 dB better as for the coding rate 16/31≃1/2. Hence, if power is an issue, the coding rate can be decreased accordingly to approach a low SNR regime, at the cost of data rate. It can be seen that for a very sparse and fast decaying power delay profile, the performance loss will be 1-4 dB, especially if the channel length becomes in the order of the signal length.

Timing and Effective Channel Length Estimation

A random integer timing offset can be chosen in τ₀∈{0, 1, 2 . . . , N−1} in FIG. 13 and with an exponential power delay profile exponent p=0.98 and dominant LOS path. In the CPBS algorithm (i.e. Algorithm 1 from FIG. 6) and CIRenergy algorithm (i.e. algorithm 2 from FIG. 8) the sum of all received antenna samples is used in combination with the sum of the noise powers

$\begin{matrix} {{r_{n}}^{2} = {{\sum\limits_{m = 1}^{M}\;{{r_{m,n}}^{2}\mspace{14mu}{and}\mspace{14mu}\sigma^{2}}} = {{MN}_{0}.}}} & (74) \end{matrix}$

Indeed, if the CIR length is larger with exponential decay, a wrong TO estimation yields to less performance degradation as for shorter lengths, since the last channel tap will be much smaller in average power. A simulation can be performed by choosing randomly for each simulation, consisting of D different noise powers N₀,

Each binary plain message m will result in a codeword c∈

₂ ^(K) which corresponds to a normalized BMOCZ symbol x∈

^(K+1). The CIR can be normalized at the transmitter to {tilde over (h)}=h/

[∥h∥²], where the average energy of the CIR is given by (36) as the expected power delay profile in s

$\begin{matrix} {E_{S,h} = {{{\mathbb{E}}\left\lbrack {h}^{2} \right\rbrack} = {\sum\limits_{l = 0}^{L - 1}\;{s_{l}{p^{l}.}}}}} & (75) \end{matrix}$

For each selected sparsity pattern of the CIR, normalized CIR energy is obtained if selecting random channel taps by the law of large numbers. By averaging over the sparsity pattern, this can result in a large deviation of the CIR energy and would require many more simulations, therefore the average power was calculated with knowledge of the sparsity patterns, i.e., by knowing the support realization.

Comparison to Noncoherent Schemes

First, a comparison is performed without TO and CFO between BMOCZ and OFDM and pilot based schemes, in FIGS. 14A and 14B with a single antenna where the CIR is generated from the simulation framework Quadriga and finally in FIGS. 15A and 15B with multiple-receive antennas.

Pilot and SC-FDE with QPSK. A pilot impulse

$\sqrt{\frac{E}{2}}\delta_{0}$ of length P=L can be used to determine the CIR and K+1−L symbols to transmit data via QPSK in a single-carrier (SC) modulation by a frequency-domain-equalization (FDE). Applying FDE, QPSK or QAM modulated OFDM subcarriers K+1−L can be decoded. The energy E is split evenly between the pilots and data symbols, which can result in better BER performance for high SNR, see FIG. 15

OFDM-Index-Modulation (IM). A comparison can also be performed with respect to: OFDM-IM with Q=1 and Q=4 active subcarriers out of K_(IM)=K+1 and to OFDM-Group-Index-Modulation (GIM) with Q=1 active subcarriers in each group of size C=4. To obtain an OFDM symbol a cyclic-prefix is added, which requires K_(IM)≥L. For OFDM systems, the CFO will result in a circular shift of the K_(IM) subcarriers and hence create the same confusion as for BMOCZ. The only difference is, that OFDM operates only on the unit circle, whereas BMOCZ operates on two circles inside and outside the unit circle. Note, in OFDM-IM a cyclic permutable code is not applicable, since the information for example with Q=1 is a cyclic shift, which is exactly what the CFO introduces. For more active subcarriers Q>1 and grouping the carriers in groups, ICI free IM schemes can be deployed. A group size of G=4 seems to perform the best for OFDM-IM. However, this will require L<<K which is not the proposed regime for MOCZ.

OFDM-Differential-Phase-Shift-keying (DPSK). Two successive OFDM blocks can be used to encode differentially the bits via Q-PSK over K_(dif) subcarriers. To ensure the same transmit and receive lengths as for BMOCZ, the BMOCZ symbol length K+1 can be split in two OFDM symbols with cyclic prefix x_(CP) ⁽¹⁾ and x_(CP) ⁽²⁾ of equal length N_(dif)=N/2, where N=K+L is chosen to be even. Furthermore, to include a CP of length L−1 in each OFDM block, it is required that N_(dif)=(K+L)/2≥2L−1 resulting in the requirement K≥3L−2. If L is even and K=nL for some 2<n∈N it is possible to obtain K_(dif)=N_(dif)−L+1=(n−1)L/2+1 subcarriers in each OFDM block. The shortest transmission time is then given for even L with n=3 by N=4L, resulting in K_(dif)=L+1 subcarriers. Modulating them with Q-PSK allows to transmit (L+1) log Q bits differentially. To match the spectral-efficiency of BMOCZ as best as possible, it is possible to select Q=8 to encode 3 bits per subcarrier and hence B=(L+1)3=(K/3+1)3=K+3 message bits, which is 3 bits more than BMOCZ.

The encoding of the DPSK can be done relative to the first OFDM block i=1, which will transmit PSK constellation points as with phase zero s_(k) ⁽¹⁾=1 respectively data phases s_(k) ⁽²⁾=e^(j2πq) ^(q) ^(/Q) with q_(k)=bi2de(m_((k−1)log(Q)+1), . . . , m_(k log (Q)) for k=1, . . . , K_(dif). Hence, in time domain, it is possible to obtain x=(x _(CP) ⁽¹⁾ ,x _(CP) ⁽²⁾),x _(CP) ^((i))=(CP ^((i)) ,x ^((i))),CP ^((i))=(x _(N) _(diff) _(−L+1) ^((i)) , . . . ,x _(N) _(dif) ⁻¹ ^((i))),x ^((i)) =F*s ^((i))  (76) for i=1, 2. Here x will be also normalized.

After removing the CP at the receiver the received data symbols in frequency domain via the mth antenna for the kth carrier is given by R _(m,k) ^((i)) k=H _(m,k) s _(k) ^((i)) +W _(m,k) ^((i))  (77) where it is possible to consider {W_(m,k) ^((i))} as independent circularly symmetric Gaussian random variables and H_(m,k)∈

the channel coefficient of the kth subcarrier. Hence, each subcarrier

can be seen as a Rayleigh flat fading channel and the decision variable can be used for a hard-decoding of M antennas

$\begin{matrix} {{\hat{q}}_{k} = {{\underset{q \in {Q}}{argmin}\mspace{14mu}{{{\frac{1}{M}{\sum\limits_{m = 1}^{M}\;{R_{m,k}^{(2)}\overset{\_}{R_{m,k}^{(1)}}}}} - e^{j\frac{2\pi\; q}{Q}}}}^{2}} = {{int}\left( {\frac{Q}{2\pi}{\angle\left( {\frac{1}{M}{\sum\limits_{m = 1}^{M}\;{R_{m,k}^{(2)}\overset{\_}{R_{m,k}^{(1)}}}}} \right)}\mspace{11mu}{mod}\mspace{14mu} Q} \right)}}} & (78) \end{matrix}$

Here int(·) rounds to the nearest integer. It is possible to ignore here a possible weighting by knowledge of SNR.

Simulations with Quadriga Channel Simulator

Version 2.0 of the Quadriga channel simulator was used to generate random CIRs for the Berlin outdoor scenario (“BERLIN_UMa_NLOS”), with NLOS at a carrier frequency f_(c)=4 Ghz and bandwith W=150 Mhz, see FIG. 14. In the simulation, the transmitter and receiver are stationary using omnidirectional antennas (λ/2). The transmitter might be a base station mounted at 10 m altitude and the receiver might be a ground user with ground distance 20 m. The LOS distance is then ≈22 m.

Computationally Complexity

Since the Q times oversampled DiZeT decoder is realized by the QK-point IDFT, computationally complexity an be reduced for Mersenne primes K, if the chosen oversampling factor Q is relatively prime to K. Since K is prime, Q can be chosen to be not a multiple of K. Since N=K+L, L≠mK need only be chosen for m∈

so that Q=N is relatively prime to K, i.e., only have one as a common divisor. In this case the QK-DFT can be efficiently computed by the prime-factor algorithm (PFA), which is as efficient at the FFT for lengths of powers of two. During simulation in Matlab, a speed improvement by a factor of 10 in the oversampled DiZeT decoder was observed for K=31 when switching from L=31 to L=32.

As can readily be appreciated, the simulations described above form a basis for implementation of communication systems in accordance with various embodiments of the invention using appropriate programmable and/or custom integrated circuits. While specific simulations are described above, any of a variety of simulations and testing processing can be performed in order to finalize a transmitter and/or receiver design as appropriate to the requirements of specific applications in accordance with various embodiments of the invention.

Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the present invention can be practiced otherwise than specifically described including transmitters and receivers that communicate via any of a variety of communication modalities using MOZ without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents. 

What is claimed is:
 1. A method of communication, comprising: receiving a plurality of information bits; outputting a plurality of encoded bits in accordance with a cycling register code (CRC); modulating the plurality of encoded bits to obtain a discrete-time baseband signal, where the plurality of encoded bits are encoded in the zeros of the z-transform of the discrete-time baseband signal; generating a continuous-time signal based upon the discrete-time baseband signal; down converting and sampling a received continuous-time signal at a given sampling rate to obtain a received discrete-time baseband signal, where the received discrete-time baseband signal includes at least one of a timing offset (TO) and a carrier frequency offset (CFO); decoding a plurality of decoded information bits from the received discrete-time baseband signal by: estimating a TO for the received discrete-time baseband signal to identify a received symbol; determining a plurality of zeros of a z-transform of the received symbol; identifying zeros from the plurality of zeros that encode received bits; and decoding the plurality of decoded information bits based upon the received bits using the CRC.
 2. The method of claim 1, wherein a receiving of a continuous-time transmitted signal is performed over a multipath channel.
 3. The method of claim 1, wherein the modulating the plurality of encoded bits is performed so that the z-transform of the discrete-time baseband signal comprises a zero for each of a plurality of encoded bits.
 4. The method of claim 1, wherein the modulating the plurality of encoded bits is performed so that each zero in the z-transform of the discrete-time baseband signal is limited to being one of a set of conjugate-reciprocal pairs of zeros.
 5. The method of claim 4, wherein: each conjugate reciprocal pair of zeros in the set of conjugate-reciprocal pairs of zeros comprises: an outer zero having a first radius that is greater than one; and an inner zero having a radius that is the reciprocal of the first radius; where the inner and outer zero have phases that are the same phase; the radii of the outer zeros in each pair of zeros in the set of conjugate-reciprocal pairs of zeros are the same; and the phases of the outer zeros in each pair of zeros in the set of conjugate-reciprocal pairs of zeros are evenly spaced over one complete revolution.
 6. The method of claim 1, wherein the CRC is a cyclically permutable code (CPC).
 7. The method of claim 6, wherein the CPC is extracted from a Bose Chaudhuri Hocquenghem (BCH) code.
 8. The method of claim 6, wherein the CPC is extracted from a primitive BCH code.
 9. The method of claim 6, wherein the CPC has a code length that is a Mersenne prime.
 10. The method of claim 9, wherein the CPC has a code length selected from the group consisting of 3, 7, 31, and
 127. 11. The method of claim 1, wherein the CRC is generated by an inner code and an outer code which are combined in a non-linear fashion.
 12. The method of claim 11, wherein the outer code is a cycling register code having a lower code rate than the inner code.
 13. The method of claim 11, wherein the outer code is a cyclically permutable code (CPC).
 14. The method of claim 11, wherein the CRC is an affine CPC (ACPC) code.
 15. The method of claim 14, wherein the ACPC is characterized by being attainable using a cyclic inner code having codewords of an inner codeword length, which is affine translated by a given binary word of the inner codeword length, and then further encoded by a cyclic outer code.
 16. The method of claim 1, wherein the estimating the TO is performed by measuring energy over an expected symbol length with a sliding window in the sampled signal.
 17. The method of claim 16, wherein the measuring energy over an expected symbol length is performed by convolving samples with a universal Huffman sequence of the expected symbol length comprising two impulses at the beginning and the end of the expected symbol length.
 18. The method of claim 1, wherein the estimate the TO is performed by identifying a set of three energy peaks that yield a maximum energy sum over an expected symbol length.
 19. The method of claim 1, further comprising: oversampling the received discrete-time signal by zero-padding; and identifying zeros from the plurality of zeros that encode a plurality of received bits by identifying a fractional rotation resulting from the CFO.
 20. The method of claim 19, further comprising determining a most likely set of zeros for the z-transform of the discrete-time baseband signal used to generate the transmitted signal based upon the received symbol.
 21. The method of claim 19, wherein the determining the plurality of received bits is achieved by performing a weighted comparison of samples of the z-transform of the received symbol with each zero in a set of zeros.
 22. The method of claim 21, wherein each zero in the z-transform of the discrete-time baseband signal used to generate the transmitted signal is limited to being one of a set of conjugate-reciprocal pairs of zeros.
 23. The method of claim 1, further comprising: providing a plurality of receive antennas; and determining the plurality of information bits by combining values derived from the samples of a plurality of continuous-time signals received by the plurality of receive antennas to perform decoding.
 24. A method of receiving, comprising: down converting and sampling a received continuous-time signal to obtain a received discrete-time baseband signal, and over sampling the received discrete-time signal by zero padding, where the received discrete-time baseband signal includes at least one of a timing offset (TO) and a carrier frequency offset (CFO); decoding a plurality of decoded information bits of information from the received discrete-time baseband signal by: estimating a TO for the received discrete-time baseband signal to identify a received symbol; determining a plurality of zeros of a z-transform of the received symbol; identifying zeros from the plurality of zeros that encode received bits by identifying and correcting a fractional rotation in the plurality of zeros resulting from the CFO; and decoding the plurality of decoded information bits based upon the received bits using a cycling register code (CRC). 